我遷移我的MOSS 2007應用程序(通過自定義審批工作流),以2010年的Sharepoint我有這個通用的代碼記錄數據爲什麼在SharePoint 2010遷移後此文件寫入失敗?
private void WriteToLog(String logInfo)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
File.AppendAllText(LOG_FILE_PATH + string.Format("{0:" + LOG_FILE_FORMAT + "}", DateTime.Now) + ".log", logInfo);
});
}
我做了一個數據庫分離的升級,也有運行的工作流(在進步狀態)與之前應該繼續在SharePoint 2010中保持一致的環境。但不幸的是,這並未發生,我的複製器活動發生了錯誤。我發現這在共享點日誌中
System.IO.IOException:設備未準備好。
at System.IO._ Error.WinIOError(Int32 errorCode,String maybeFullP ath)
at System.IO.FileStream.Init(String p ath,FileMode mode,FileAccess access,Int32 rights,Boolean useRights,FileShare share, Int32 bufferSize,FileOptions選項,SECURITY atTRIBUTES sec attrs,String msgP ath,Boolean bFromProxy)
at System.IO.FileStream..ctor(String p ath,FileMode mode,FileAccess訪問,FileShare共享,Int32 bufferSize,FileOptions選項,串msgP ATH,布爾bFromProxy)
在System.IO.FileStream..ctor(列p ATH,的FileMode模式,FileAccess的訪問,文件共享份額,緩衝區大小的Int32,FileOptions選項)
在System.IO.StreamW riter..ctor(String p ath,布爾附加,編碼編碼,int32 bufferSize)
at System.IO.StreamWriter..ctor(String p ath,布爾附加,編碼編碼)
at System.IO.File.AppendAllText (列p ATH,字符串內容,編碼方式進行編碼)
在xyz.Utils.MailNotific ations.DisplayClass1._0()
在Microsoft.SharePoint.SPSecurity.DisplayClass4._2()
在Microsoft.SharePoint.Utilities.SecurityContext .RunAsProcess(CodeToRunElevel SecureCode)
at Microsoft.SharePoint.SPSecurity.RunWithElev atedPrivileges(WaitCallback secureCode,Object param)
at Microsoft.SharePoint。 SPSecurity.RunWithElev atedPrivileges(CodeToRunElev ated安全碼)
在xyz.Utils.MailNotific ations.WriteToLog(字符串LOGINFO)
在xyz.Utils.MailNotific ations.SPNotific通貨膨脹(的SPWeb方面的應用中,字符串對象,字符串審批,字符串htmlBody)
在xyz.WF.Approval.ApprovalWorkFlow.logError_ExecuteCode(對象發件人,EventArgs的)
在System.Workflow.ComponentModel.Activity.RaiseEvent(的DependencyProperty dependencyEvent,對象發件人,EventArgs的)
在System.Workflow.Activities。 CodeActivity.Execute(ActivityExecutionContext executionContext)
at System.Workflow.ComponentModel.ActivityExecutor1.Execute(T activity, ActivityExecutionContext executionContext)
1.Execu TE(活動活性,ActivityExecutionContext的ExecutionContext)
at System.Workflow.ComponentModel.ActivityExecutor
在System.Workflow.ComponentModel.ActivityExecutorOper ation.Run(IWorkflowCoreRuntime workflowCoreRuntime)
在System.Workflow.Runtime.Scheduler.Run()
簡言之,這似乎是一個IO異常。我已共享日誌文件夾位置,文件訪問權限被排除,當新工作流程啓動時,應用程序工作得很好。
我在web.config文件具有這些作爲<添加鍵= 「LogFileFormat」 值= 「MMyyyyHH」/><添加鍵= 「LOGFILEPATH」 值=「d:\項目\ XYZ \登錄\」 /> – Shankar
當一個新的工作流啓動後,我得到的日誌數據properly.The問題是唯一的運動是在MOSS開始運行的工作流,當2007年 – Shankar
我不同的日誌文件路徑在我的MOSS 2007和SharePoint 2010的設置應用。我複製的文件夾結構從我的MOSS 2007的機器在新的環境,我保留了配置文件中的日誌文件路徑位置。有效!謝謝你的帶領! – Shankar