getting ComException while reading the document in SharePoint 2010 - sharepoint

I deployed webpart in the site collection.
This webpart tried to read the content of the document in the document library. Its work fine in SharePoint 2007. But this is not working in SharePoint 2010. If the document size is small, its working fine. otherwise i am getting the following Exception.
Microsoft.SharePoint.SPException: Cannot open file "Document library/MyDoc-FAQ.doc". ---> System.Runtime.InteropServices.COMException (0x81070211): Cannot open file "Document library/MyOffice-FAQ.doc". at Microsoft.SharePoint.Library.SPRequestInternalClass.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) at Microsoft.SharePoint.Library.SPRequest.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) --- End of inner exception stack trace --- at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) at Microsoft.SharePoint.Library.SPRequest.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) at Microsoft.SharePoint.SPFile.GetFileStreamCore(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew) at Microsoft.SharePoint.SPFile.GetFileStream(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew) at Microsoft.SharePoint.SPFile.OpenBinaryStream() at MyComp.Plugin.Office.MyOffice.handleEdit(HtmlTextWriter writer, NameValueCollection querystring)Message isCannot open file "Document library/MyDoc-FAQ.doc". source is Microsoft.SharePoint
Sample Code
using (SPSite siteCol = new SPSite(siteurl))
{
using (SPWeb oWebsite = siteCol.OpenWeb())
{
oWebsite.AllowUnsafeUpdates = true;
SPFolder folder = oWebsite.GetFolder(folderurl);
SPFileCollection files = folder.Files;
SPFile file = files[filename];
Stream stream = file.OpenBinaryStream();
byte[] content = null;
BinaryReader reader = new BinaryReader(stream);
content = reader.ReadBytes((int)file.Length);//If the document size is higher, i am getting exception
oWebsite.AllowUnsafeUpdates = false;
}
}
Error occurs when the file size is exceed 100kb. Please help me to overcome this issue
In the SharePoint log i got the following exception
at Microsoft.SharePoint.CoordinatedStreamBuffer.SPBackgroundSqlFileFiller.StartNextFill(SPInterval iNext) at Microsoft.SharePoint.CoordinatedStreamBuffer.SPBackgroundFileFiller.DoNextOperation() at Microsoft.SharePoint.CoordinatedStreamBuffer.SPBackgroundFileFiller.Fill() at Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocParams(SqlSession session, Guid guidSiteId, Int32 grfDocFlags, Int64 cbContent, SPChunkedArray`1 rgbContent, Byte[] rgbRbsId, Guid guidDoc, Int32 iInternalVersion, Int32 pageSize, Boolean bStartFilling) at Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocumentRowset(SqlSession session, Object[] row, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres) at Micr... 1cc7f9da-32ed-4446-aaa7-8bc6dd4cd635
10/14/2010 19:27:18.77* w3wp.exe (0x1F28) 0x1ED0 SharePoint Foundation Database fa46 High ...osoft.SharePoint.Library.SPRequestInternalClass.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) at Microsoft.SharePoint.Library.SPRequest.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) at Microsoft.SharePoint.SPFile.GetFileStreamCore(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew) at Microsoft.SharePoint.SPFile.GetFileStream(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew) at Microsoft.SharePoint.SPFile.OpenBinary(SPOpenBinary... 1cc7f9da-32ed-4446-aaa7-8bc6dd4cd635
10/14/2010 19:27:18.77* w3wp.exe (0x1F28) 0x1ED0 SharePoint Foundation Database fa46

I had this same issue... turned out it was a ghost. I could see the file in the document library (xslt's in this case) and I could see it in Manage All Content, but IIS would not serve the file when i navigated to it using the URL. I am admin on the server so it should not be a permissions issue.
I solved the issue simply by re-uploading the file (same name and properties) - suddenly my System.Runtime.InteropServices.COMException (0x81070211): Cannot open file error went away.
Give it go and let me know if it worked for you.
Rich

Two things:
Make sure you dispose the stream (see this post)
Have you tried taking the file.length from the stream?
Alternatively just use the following code (from the top of my head)
byte[] content = file.OpenBinary();

Try checking out the file prior to opening. Also dispose of the stream as mentioned above.

Related

Save Site as Template Programatically - Error generating solution files in temporary directory

I have a requirement like , i need to create the Site Templates programatically.
when i am trying to save the Site As Template Programatically , i am getting the below error.
"Error generating solution files in temporary directory".
i have given full control on c:\windows\temp directory.And I am using below Method:
oWeb.SaveAsTemplate(templateName, templateTitle, tmplDesc, true);
(or)
string solutionFileUrl = SPSolutionExporter.ExportWebToGallery(oWeb,templateName, templateTitle,tmplDesc,SPSolutionExporter.ExportMode.FullReuse,true);
facing the same issue.
i am able to save root web as Template like SPContext.Current.Web.SaveAsTemplate(templateName, templateTitle, tmplDesc, true);
but i need to save sub site as Template.
Below is my ULS log dump
System.Runtime.InteropServices.COMException: List does not exist. The
page you selected contains a list that does not exist. It may have
been deleted by another
user.0x81020026,
StackTrace: at
Microsoft.SharePoint.SPListCollection.EnsureListsData(Guid webId,
String strListName) at
Microsoft.SharePoint.SPListCollection.ItemByInternalName(Guid webId,
String listName) at
Microsoft.SharePoint.WebPartPages.ListViewWebPart.EnsureList() at
Microsoft.SharePoint.WebPartPages.ListViewWebPart.EnsureListAndView(Boolean
requireFullBlownViewSchema) at
Microsoft.SharePoint.WebPartPages.ListViewWebPart.ShouldSerializeTitle()
at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterListViewWebPart.Write14_ListViewWebPart...
...(String n, String ns, ListViewWebPart o, Boolean isNullable,
Boolean needType) at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterListViewWebPart.Write15_WebPart(Object
o) at System.RuntimeMethodHandle.InvokeMethod(Object target,
Object[] arguments, Signature sig, Boolean constructor) at
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,
Object[] parameters, Object[] arguments) at
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Xml.Serialization.TempAssembly.InvokeWriter(XmlMapping
mapping, XmlWriter xmlWriter, Object o, XmlSerializerNamespaces
namespaces, String encodingStyle, String id) at
System.Xml.Serialization.XmlSerializer.S... ...erialize(XmlWriter
xmlWriter, Object o, XmlSerializerNamespaces namespaces, String
encodingStyle, String id) at
Microsoft.SharePoint.WebPartPages.WebPart.SerializeXml(XmlWriter
writer, XmlSerializer xmls, Boolean shouldSerializeAll) at
Microsoft.SharePoint.WebPartPages.WebPart.SerializeWebPartXml(Boolean
shouldExcludeSpecialProperties, TextWriter writer) at
Microsoft.SharePoint.WebPartPages.WebPart.WriteXmlAsUtf8(Boolean
shouldExcludeSpecialProperties) at
Microsoft.SharePoint.WebPartPages.SPWebPartManager.GetWebPartXml(WebPart
webPart, Boolean shouldUTF8Encode, Boolean
shouldExcludeSpecialProperties, Boolean export) at
Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager.ExportWebPart(WebPart
webPart, XmlWriter writer) at
Microsoft.SharePoint.SPSolutionExporter...
....GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder,
List1 webViews) at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder
folder, SortedList2 filesInFolder, List1 webViews) at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder
folder, SortedList2 filesInFolder, List1 webViews) at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInWeb(String
workflowTemplateName) at
Microsoft.SharePoint.SPSolutionExporter.GenerateSolutionFiles() at
Microsoft.SharePoint.SPSolutionExporter.ExportWebAsSolution() at
Microsoft.SharePoint.SPSolutionExporter.ExportWebToGallery(SPWeb web,
String solutionFileName, String title, String description, ExportMode
exportMode, Boolean includeContent, String workflowTemplateName,
String destina... ...tionListUrl, Action`1 solutionPostProcessor,
Boolean activateSolution) at
Microsoft.SharePoint.SPWeb.SaveAsTemplate(String strTemplateName,
String strTemplateTitle, String strTemplateDescription, Boolean
fSaveData) at
TemplateIssueProject.ProjectTemplate.<>c__DisplayClass9.b__6()
at
Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.b__3()
at
Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated
secureCode) at
Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback
secureCode, Object param) at
Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated
secureCode) at
TemplateIssueProject.ProjectTemplate.SaveTemplate(String webName,
String templateName, String template... ...Title, String tmplDesc)
at TemplateIssueProject.ProjectTemplate.SiteCreation(String siteName)
at
TemplateIssueProject.TemplateIssewebpart.TemplateIssewebpart.btnSubmit_Click(Object
sender, EventArgs e) at
System.Web.UI.WebControls.Button.RaisePostBackEvent(String
eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest() at
System.Web.UI.Page.ProcessRequest(HttpContext context) at
ASP.WKPSTD_ASPX__1961116010.ProcessRequest(HttpContext context) at
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecut...
...ionStep.Execute() at
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
completedSynchronously) at
System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception
error) at
System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext
context, AsyncCallback cb) at
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest
wr, HttpContext context) at
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr
rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData,
Int32 flags) at
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr
rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData,
Int32 flags) at
System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletio...
...n(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr
pHandler, RequestNotificationStatus& notificationStatus) at
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr
rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData,
Int32 flags) at
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr
rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData,
Int32 flags)
System.NullReferenceException: Object reference not set to an instance
of an object. at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder
folder, SortedList2 filesInFolder, List1 webViews) at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder
folder, SortedList2 filesInFolder, List1 webViews) at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder
folder, SortedList2 filesInFolder, List1 webViews) at
Microsoft.SharePoint.SPSolutionExporter.GetFilesInWeb(String
workflowTemplateName) at
Microsoft.SharePoint.SPSolutionExporter.GenerateSolutionFiles() at
Microsoft.SharePoint.SPSolutionExporter.ExportWebAsSolution()
Application error when access /SitePages/MyTaskPage.aspx, Error=Error
generating solution files in temporary directory. at
TemplateIssueProject.ProjectTemplate.SiteCreation(String siteName)
at
TemplateIssueProject.TemplateIssewebpart.TemplateIssewebpart.btnSubmit_Click(Object
sender, EventArgs e) at
System.Web.UI.WebControls.Button.RaisePostBackEvent(String
eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
System.InvalidOperationException: Error generating solution files in
temporary directory. at
TemplateIssueProject.ProjectTemplate.SiteCreation(String siteName)
at
TemplateIssueProject.TemplateIssewebpart.TemplateIssewebpart.btnSubmit_Click(Object
sender, EventArgs e) at
System.Web.UI.WebControls.Button.RaisePostBackEvent(String
eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Please suggest/provide suggestions.
Regards,
below code is used to save the site as Template(Root Level/subsite)
using System.Management;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
Add Reference to your solution from the below path.
Reference Path: C:\Windows\winsxs\msil_system.management.automation_31bf3856ad364e35_7.1.7601.18071_none_a682d4c5c360dacf\System.Management.Automation.dll
RunspaceInvoke oRunSpaceInvoke = new RunspaceInvoke();
FullWebUrl = SPContext.Current.Site.Url + "/" + objTemplate.strWebName;
strScriptToSaveTemp = #"Add-PSSnapin Microsoft.SharePoint.PowerShell ; Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ;" +
"$oWeb = Get-SPWeb " + FullWebUrl + " ; $oWeb.SaveAsTemplate('" + objTemplate.strTemplateTitle + "','" + objTemplate.strTemplateName + "','" + objTemplate.strTemplateDesc + "',1) \n";
oRunSpaceInvoke.Invoke(strScriptToSaveTemp).ToString();
Regards,
Mahesh
http://sharepointchampion.blogspot.in/2014/05/save-site-as-template-programatically.html
If you have added any fields through a feature, and your field has Overwrite="FALSE", then site exporting will fail. You should only use Overwrite if you need to set it to TRUE, since the default is FALSE.
This seems to be a SharePoint bug.
You may see this attribute mentioned in your ULS logs.

Sharepoint event receiver and linq to sharepoint

I have a sandboxed solution and access some lists with Linq-to-Sharepoint. Now I attached an event receiver to the list type 101 because I have to restrict some files uploaded to picture libraries. This works fine.
But now my Linq-to-Sharepoint throws an error when I try to insert a new item to a list (only with Linq, it works fine if I create new items on that list via the regular user interface).
The error is 0x81020089 with the message The sandboxed code execution request was refused because the Sandboxed Code Host Service was too busy to handle the request. but the message is just default as the host service is not too busy and 0x81020089 is kind of a problem with an event receiver.
Everything works fine if I dont attach the event receiver but the error occurs when I do so - even if there is no code in the event receiver at all.
Any ideas?
Error message
0x81020089 The sandboxed code execution request was refused because the Sandboxed Code Host Service was too busy to handle the request.
Server stack trace
at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename)
at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename)
at Microsoft.SharePoint.SPListItem.Update()
at Microsoft.SharePoint.SPListItem_SubsetProxy.Update__Inner()
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Place the following in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC
That key just has to be present. You don't need a value. Also, you will have to place that key in every registry that is running the Sandboxed Code Host Service. Once you do that, I would recommend that you restart the machine.
Here is a great blog article in regards to this issue.
http://blogs.msdn.com/b/sharepointdev/archive/2011/02/08/error-the-sandboxed-code-execution-request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request.aspx
I faced the same issue and the problem was an error (Object reference not set to an instance of an object) that is happening on the ItemUpdating event receiver.. debug should tell you what is missing..
when you use linq to sharepoint, the AfterProperties are only the properties that are changed by code, which is different that the UI update where all properties will be considered as changed

System.UnauthorizedAccessException with SPWebpartmanager

We are running SharePoint 2010 farm. I have removed all access to a sitecollection "Provider" from a user group. "Provider" is the default sitecollection that a user logs in to.
We have a custom access denied page that inherits from "UnsecuredLayoutsPageBase" and has a masterpage that has spwebpartmanager.
<WebPartPages:SPWebPartManager ID="m" runat="Server" />
Now when a user from the group that does not have access to "Provider" logs in, sharepoint redirects to AccessDeniedPage. But SPWebPartManager (checked with .net reflector) throws System.UnauthorizedAccessException: Attempted to perform an unauthorized operation, as the user logged in doesn't have permissions.
Is there any way to run spwebpartmanager with elevated permissions? I couldn't find anything but the SPSecurity.RunWithElevatedPrivileges block, but that works with user code. How can i make OTB code run with elevated permissions? Any help is much appreciated. Thanks.
here is the stack trace.
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(HttpContext context)
at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(Exception ex)
at Microsoft.SharePoint.Library.SPRequest.OpenWeb(String bstrUrl, String& pbstrServerRelativeUrl, String& pbstrTitle, String& pbstrDescription, String& pbstrTitleResourceId, String& pbstrDescriptionResourceId, Guid& pguidID, String& pbstrRequestAccessEmail, UInt32& pwebVersion, Guid& pguidScopeId, UInt32& pnAuthorID, UInt32& pnLanguage, UInt32& pnLocale, UInt16& pnTimeZone, Boolean& bTime24, Int16& pnCollation, UInt32& pnCollationLCID, Int16& pnCalendarType, Int16& pnAdjustHijriDays, Int16& pnAltCalendarType, Boolean& pbShowWeeks, Int16& pnFirstWeekOfYear, UInt32& pnFirstDayOfWeek, Int16& pnWorkDays, Int16& pnWorkDayStartHour, Int16& pnWorkDayEndHour, Int16& pnMeetingCount, Int32& plFlags, Boolean& bConnectedToPortal, String& pbstrPortalUrl, String& pbstrPortalName, Int32& plWebTemplateId, Int16& pnProvisionConfig, String& pbstrDefaultTheme, String& pbstrDefaultThemeCSSUrl, String& pbstrThemedCssFolderUrl, String& pbstrAlternateCSSUrl, String& pbstrCustomizedCssFileList, String& pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, String& pbstrMasterUrl, String& pbstrCustomMasterUrl, String& pbstrSiteLogoUrl, String& pbstrSiteLogoDescription, Object& pvarUser, Boolean& pvarIsAuditor, UInt64& ppermMask, Boolean& bUserIsSiteAdmin, Boolean& bHasUniquePerm, Guid& pguidUserInfoListID, Guid& pguidUniqueNavParent, Int32& plSiteFlags, DateTime& pdtLastContentChange, DateTime& pdtLastSecurityChange, String& pbstrWelcomePage, Boolean& pbOverwriteMUICultures, Boolean& pbMUIEnabled, String& pbstrAlternateMUICultures, Int32& puiVersion, Int16& pnClientTag)
at Microsoft.SharePoint.SPWeb.InitWeb()
at Microsoft.SharePoint.SPWeb.get_WebTemplate()
at Microsoft.SharePoint.SPWeb.get_WebTemplateConfiguration()
at Microsoft.SharePoint.WebControls.ScriptLink.InitJs_Register(Page page)
at Microsoft.SharePoint.WebControls.ScriptLink.RegisterForControl(Control ctrl, Page page, String name, Boolean localizable, Boolean defer, Boolean loadAfterUI, String language)
at Microsoft.SharePoint.WebControls.ScriptLink.Register(Page page, String name, Boolean localizable, Boolean defer, Boolean loadAfterUI, String language, String uiVersion)
at Microsoft.SharePoint.WebControls.ScriptLink.RegisterOnDemand(Page page, String strKey, String strFile, Boolean localizable)
at Microsoft.SharePoint.WebControls.ScriptLink.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
I would suggest creating a different master page without the web part manager in it.
We ran into a similar problem with a forms-based sign in page that runs when the user is not logged in.
To solve the issue, we had to switch the #Page directive from:
DynamicMasterPageFile="~masterurl/default.master"
to
MasterPageFile="~/_layouts/simple.master"
It was quite a challenge to determine the cause; had to override PrcessRequest() with a try/catch block and then look at the InnerException to get a clue what was causing the problem because in /_login/OurLoginPage.aspx it was hidden under a 403 error and only deep inside the stack trace we found the issue you talk about above.

Publishing web project to azure failed: The "IsolatedCSPack" task failed unexpectedly

I have web application that I want to publish and upload to windows azure.
I use Visual Studio 2008.
I click on "publish", chose "Create Service Package Only" in "Publish Cloud Service" window, andclick on "OK".
The publish failed tnd the exception is:
Error 26 The "IsolatedCSPack" task failed unexpectedly.
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
Server stack trace:
at System.IO.MemoryStream.set_Capacity(Int32 value)
at System.IO.MemoryStream.EnsureCapacity(Int32 value)
at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at MS.Internal.IO.Packaging.SparseMemoryStream.CopyMemoryBlocksToStream(Stream targetStream)
at MS.Internal.IO.Packaging.SparseMemoryStream.WriteToStream(Stream stream)
at MS.Internal.IO.Zip.ZipIOFileItemStream.Save()
at MS.Internal.IO.Zip.ZipIOLocalFileBlock.Save()
at MS.Internal.IO.Zip.ZipIOBlockManager.SaveContainer(Boolean closingFlag)
at MS.Internal.IO.Zip.ZipIOBlockManager.SaveStream(ZipIOLocalFileBlock blockRequestingFlush, Boolean closingFlag)
at MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at System.IO.Packaging.PackagePart.Close()
at System.IO.Packaging.Package.DoClose(PackagePart p)
at System.IO.Packaging.Package.DoOperationOnEachPart(PartOperation operation)
at System.IO.Packaging.Package.System.IDisposable.Dispose()
at Microsoft.ServiceHosting.Tools.Packaging.PackageCreator.CreateRolePackages(ModelProcessor modelProcessor, PackageManifest applicationManifest, Package applicationPackage)
at Microsoft.ServiceHosting.Tools.Packaging.PackageCreator.CreatePackage(Stream outputStream)
at Microsoft.ServiceHosting.Tools.Packaging.ServiceApplicationPackage.CreateServiceApplicationPackage(String serviceModelFileName, String serviceDescriptionFile, Stream output, IPackageSecurity encrypt, Dictionary`2 namedStreamCollection, String userInfo, EventHandler`1 rolePackagePartAddedHandler)
at Microsoft.ServiceHosting.Tools.Packaging.ServiceApplicationPackage.CreateServiceApplicationPackage(String serviceModelFileName, String serviceDescriptionFile, Stream output, RSACryptoServiceProvider encrypt, Dictionary`2 namedStreamCollection, String userInfo, EventHandler`1 rolePackagePartAddedHandler)
at Microsoft.ServiceHosting.Tools.MSBuildTasks.CSPack.TryCreatePackage(ServiceDefinitionModel sm)
at Microsoft.ServiceHosting.Tools.MSBuildTasks.CSPack.Execute()
at Microsoft.CloudExtensions.MSBuildTasks.IsolatedCSPack.RemoteCSPackBridge.Execute(TaskLoggingHelper log, IBuildEngine buildEngine, ITaskHost hostObject, String serviceHostingTasksPath, String output, String serviceDefinitionFile, ITaskItem[] packRoles, Boolean copyOnly, String generateConfigurationFile, Boolean noEncryptPackage, ITaskItem[]& copiedFiles, ITaskItem[]& outputFiles)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.CloudExtensions.MSBuildTasks.IsolatedCSPack.RemoteCSPackBridge.Execute(TaskLoggingHelper log, IBuildEngine buildEngine, ITaskHost hostObject, String serviceHostingTasksPath, String output, String serviceDefinitionFile, ITaskItem[] packRoles, Boolean copyOnly, String generateConfigurationFile, Boolean noEncryptPackage, ITaskItem[]& copiedFiles, ITaskItem[]& outputFiles)
at Microsoft.CloudExtensions.MSBuildTasks.IsolatedCSPack.Execute()
at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult) C:\Program Files\MSBuild\Microsoft\Cloud Service\v1.0\Microsoft.CloudService.targets 865 5 Starlims.SDMS.Azure
How can i resolve this?
Happened to me before... try restarting the computer (I know... it's a bit "Technical Support" advice - but it worked for me!
This looks like the same problem someone else posted about on the MSDN Azure forum. Their problem was that a resource was being copied into the project with:
build action = Content
Copy to Output Directory = Copy if Newer.
They changed the latter to Never and the problem went away.

Sharepoint problem saving a file over an existing file in a document library

I have an existing document in a document library and I'm trying to overwrite that file in code using code like this:
byte[] data = ...
SPListItem li = ...
li.File.SaveBinary(data);
When I run this code I get:
Microsoft.SharePoint.SPException: The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again. ---> System.Runtime.InteropServices.COMException (0x8102006D): The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again.
at Microsoft.SharePoint.Library.SPRequestInternalClass.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)
at Microsoft.SharePoint.Library.SPRequest.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)
--- End of inner exception stack trace ---
at Microsoft.SharePoint.Library.SPRequest.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)
at Microsoft.SharePoint.SPFile.SaveBinary(Byte[] file, String checkInComment, Boolean checkRequiredFields, Boolean bIsMigrate, Boolean bIsPublish, SPUser modifiedBy, DateTime timeLastModified, SPVirusCheckStatus& virusCheckStatus, String& virusCheckMessage)
at Microsoft.SharePoint.SPFile.SaveBinary(Byte[] file, Boolean checkRequiredFields, Boolean bIsMigrate, Boolean bIsPublish, SPUser modifiedBy, DateTime timeLastModified)
at Microsoft.SharePoint.SPFile.SaveBinary(Byte[] file, Boolean checkRequiredFields)
at Microsoft.SharePoint.SPFile.SaveBinary(Byte[] file)
at TestClass.UploadFile()
I'm running this code on a form hosted in the same site as sharepoint and the user that is running the code can upload the file manually just fine. Do I need to delete the file first? Check it out?
Try this to fix it:
SPSecurity.RunWithElevatedPrivileges(delegate
{
using (SPSite elevSite = new SPSite(currentWeb.Site.ID))
{
using (SPWeb elevWeb = elevSite.OpenWeb(currentWeb.ID))
{
elevWeb.AllowUnsafeUpdates = true;
// ...
}
}
}
I figured it out. I was doing the call within a SPSecurity.RunWithElevatedPrivileges block which caused it to fail. I find that interesting since you would think running with elivated privileges would have more access not less.
Try out this as well to remove error "The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again."
http://sharepointhelps.wordpress.com/2008/08/05/the-security-validation-for-this-page-is-invalid-click-back-in-your-web/
Thanks,
Ashish Chotalia

Resources