我的应用程序中有 2 个工作人员和自动扩缩器 (WASABi)。每个工作人员在手动创建的 AppDomain(AppDomain.CreateDomain()
等等)中计算一些数据。一个域用于一项计算任务。
有时完成的任务很少。一切正常,没有异常发生。
但有时有很多任务要完成。在这些时刻,自动扩缩器必须再添加一名工作人员(使用反应规则制作)。加载新实例后,神奇的事情发生了:在自定义 AppDomain 中有这样的异常:
State: Error System.TypeInitializationException: The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment' threw an exception. --->
System.DllNotFoundException: Unable to load DLL 'kernel32.dll': The filename or extension is too long. (Exception from HRESULT: 0x800700CE)
at Microsoft.Win32.SafeNativeMethods.OutputDebugString(String message)
at System.Diagnostics.DefaultTraceListener.Write(String message, Boolean useLogFile)
at System.Diagnostics.TraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id) at System.Diagnostics.TraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String format, Object[] args)
at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args) at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment..cctor()
--- End of inner exception stack trace
--- at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.get_CurrentRoleInstance()
at Tailspin.Shared.Infrastructure.Helpers.LogError(Exception ex, String message, Object[] args) at Tailsping.Workers.Processor.ChannelUpdater.Update()
at Tailsping.Workers.Processor.AppdomainHelper.b__1[T]()
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at Tailsping.Workers.Processor.AppdomainHelper.RunInAppDomain[T](Func`1 func)
at Tailsping.Workers.Processor.ProcessorService.ExecWrapperInternal(String wrapperXml)
它无法加载一些名为 ' kernel32.dll ' 的 DLL :)
谷歌表示注意到。有什么建议么?