waiishost在部署时崩溃

时间:2012-05-02 09:59:54

标签: deployment azure servicebus

我已经建立了一个应该在本地运行我的azure项目的环境。

首先是一个简单的批处理文件:

E:
cd "E:\Procurement\Source\Procurement\trunk\Azure_Procurement\Azure_Procurement"
MSBuild.exe Azure_Procurement.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False
MSBuild.exe Azure_Procurement.ccproj /t:Publish
"C:\Program Files\Windows Azure Emulator\emulator\CSRun.exe" "E:\Procurement\Source\Procurement\trunk\Azure_Procurement\Azure_Procurement\csx\Release" "E:\Procurement\Source\Procurement\trunk\Azure_Procurement\Azure_Procurement\bin\Release\ServiceConfiguration.cscfg"

当我运行此文件时,我的项目被编译并部署到iis。 但是,几秒钟后,模拟主机崩溃,我设法得到以下信息:

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: waiishost.exe
  Problem Signature 02: 1.6.0.0
  Problem Signature 03: 4eb3102e
  Problem Signature 04: System.ServiceModel
  Problem Signature 05: 4.0.0.0
  Problem Signature 06: 4d930801
  Problem Signature 07: 573e
  Problem Signature 08: 1bd
  Problem Signature 09: KFM023AO4DTNWT0EKMSKUWE5BRORH3FC
  OS Version:   6.1.7601.2.1.0.272.7
  Locale ID:    1053
  Additional Information 1: af3a
  Additional Information 2: af3a02be113369c664147fe8f0201429
  Additional Information 3: 9edf
  Additional Information 4: 9edf9a509c5231db61e45a805b3d35ff

异常消息: 方法因意外错误代码3而失败。

Stack Trace:
   at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
   at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections)
   at System.IO.DirectoryInfo.GetAccessControl(AccessControlSections includeSections)
   at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAceIterative(DirectoryInfo dir, FileSystemRights rights, IdentityReference[] accounts)
   at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAce(DirectoryInfo dir, FileSystemRights rights, Boolean inherit, IdentityReference[] accounts)
   at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.Security.AddAppPoolSidAceToVdir(String appPoolName, String sitePath, String appPoolSid)
   at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.IISConfigurator.Deploy(String roleId, WebAppModel appModel, String roleRootDirectory, String sitesDestinationDirectory, String diagnosticsRootFolder, String roleGuid, Dictionary`2 globalEnvironment)
   at SyncInvokeDeploy(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

当我使用visual studio调试它时,项目运行,当我在另一台服务器上运行相同的批处理脚本时它甚至可以工作。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!

该错误是由尝试通过azure诊断激活WCF跟踪引起的。 正如在堆栈跟踪中看到的那样,“System.ServiceModel”(对于任何不知道的人都是WCF的一部分)出错了,这是由我的web.config中的错误引起的。 除此之外,我还忘记了我的脚本指向使用“Release”-buildconfiguration编译的构建,而我实际上正在使用“Debug”配置进行编译。