为什么在SharePoint 2010迁移后此文件写入失败?

Sha*_*kar 3 c# sharepoint sharepoint-2010 sharepoint-workflow

我将我的MOSS 2007应用程序(带有自定义批准工作流程)迁移到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);
    });
}
Run Code Online (Sandbox Code Playgroud)

我已经完成了数据库分离升级,在以前的环境中有正在运行的工作流程(进行中状态),这应该在sharepoint 2010中继续.但不幸的是,这不会发生,我的复制器活动引发了错误.我在sharepoint日志中找到了这个

System.IO.IOException:设备尚未就绪.
在System.IO._ Error.WinIOError(Int32 errorCode,String maybeFullP ath)
在System.IO.FileStream.Init(String p ath,FileMode模式,FileAccess访问,Int32权限,布尔useRights,FileShare共享,Int32 bufferSize,FileOptions选项) ,SECURITY
atTRIBUTES sec attrs,String msgP ath,Boolean bFromProxy)
at System.IO.FileStream..ctor(String p ath,FileMode mode,FileAccess access,FileShare share,Int32 bufferSize,FileOptions options,String msgP ath,Boolean bFromProxy)
at at System.IO.StreamWriter..ctor上的System.IO.FileStream..ctor(String p ath,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项)
(String p ath,Boolean append,Encoding encoding,Int32 bufferSize )
at System.IO.StreamWriter..ctor(String p ath,Boolean append,Encoding encoding)
at System.IO.File.AppendAllText(String p ath,String contents,Encoding encoding)
at xyz.Utils.MailNotific ations.DisplayClass1.
Microsoft.SharePoin的Microsoft.SharePoint.SPSecurity.DisplayClass4._2()
上的_0()t.Utilities.SecurityContext.RunAsProcess(CodeToRunElev ated secureCode)
at Microsoft.SharePoint.SPSecurity.RunWithElev atedPrivileges(WaitCallback secureCode,Object param)
at Microsoft.SharePoint.SPSecurity.RunWithElev atedPrivileges(CodeToRunElev ated secureCode)
at xyz.Utils.MailNotific ations. WriteToLog(字符串LOGINFO)
在xyz.Utils.MailNotific ations.SPNotific通货膨胀(的SPWeb方面的应用中,字符串对象,字符串审批,字符串htmlBody)
在xyz.WF.Approval.ApprovalWorkFlow.logError_ExecuteCode(对象发件人,EventArgs的)
在System.Workflow
System.Workflow.ComponentModel.ActivityExecutor上的System.Workflow.Activities.CodeActivity.Execute(ActivityExecutionContext executionContext)
中的.ComponentModel.Activity.RaiseEvent(DependencyProperty dependencyEvent,Object sender,EventArgs e )1 .系统上的Execute(Activity activity,ActivityExecutionContext executionContext) System.Workflow.Runtime.Sch上的.Workflow.ComponentModel.ActivityExecutorOper ation.Run(IWorkflowCoreRuntime workflowCoreRuntime)eduler.Run() 1.Execute(T activity, ActivityExecutionContext executionContext)
at System.Workflow.ComponentModel.ActivityExecutor


简而言之,这似乎是IO异常.我已共享日志文件夹位置,排除了文件访问权限,应用程序在启动新工作流时工作正常.

Jer*_*Gee 5

什么是LOG_FILE_PATH和LOG_FILE_FORMAT?

如果其中任何一个为空或以其他方式无效,则可能导致IO异常.