我有MVC 3应用程序曾经在osFamily 1(Win 2008 SP2)和.Net 4.0上正常工作,并希望升级到.Net 4.5和Windows 2012。
我的项目已升级到.Net 4.5,它的构建没有任何问题,可以在模拟器中运行而没有任何问题。
当我部署到Windows Azure时,我收到此消息的角色 -
“回收(等待角色启动......网站已部署。[2013-06-01T10:43:59Z])”
我远程登录到计算机,我在Windows事件查看器中找到了以下错误消息。
Log Name: Application
Source: Application Error
Date: 6/1/2013 10:15:39 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: RD00155D492637
Description:
Faulting application name: WaHostBootstrapper.exe, version: 6.0.6002.18488, time stamp: 0x50a71329
Faulting module name: ntdll.dll, version: 6.2.9200.16420, time stamp: 0x505ab405
Exception code: 0xc0000005
Fault offset: 0x0000000000005d92
Faulting process id: 0xadc
Faulting application start time: 0x01ce5eb0eff6e9f1
Faulting application path: E:\base\x64\WaHostBootstrapper.exe
Faulting module path: D:\Windows\SYSTEM32\ntdll.dll
Report Id: 34c3ae25-caa4-11e2-93ef-00155d492637
Faulting package full name:
Faulting package-relative application ID:
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2013-06-01T10:15:39.000000000Z" />
<EventRecordID>8187</EventRecordID>
<Channel>Application</Channel>
<Computer>RD00155D492637</Computer>
<Security />
</System>
<EventData>
<Data>WaHostBootstrapper.exe</Data>
<Data>6.0.6002.18488</Data>
<Data>50a71329</Data>
<Data>ntdll.dll</Data>
<Data>6.2.9200.16420</Data>
<Data>505ab405</Data>
<Data>c0000005</Data>
<Data>0000000000005d92</Data>
<Data>adc</Data>
<Data>01ce5eb0eff6e9f1</Data>
<Data>E:\base\x64\WaHostBootstrapper.exe</Data>
<Data>D:\Windows\SYSTEM32\ntdll.dll</Data>
<Data>34c3ae25-caa4-11e2-93ef-00155d492637</Data>
<Data>
</Data>
<Data>
</Data>
</EventData>
</Event>
Log Name: Application
Source: .NET Runtime
Date: 6/1/2013 10:15:39 AM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: RD00155D492637
Description:
Application: CacheDumpGenerator.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.SEHException
Stack:
at <Module>.RdGetLocalResource(UInt16*, _RD_RESOURCE**)
at <Module>.RdGetLocalResource(UInt16*, _RD_RESOURCE**)
at <Module>._LOCALRESOURCE.GetLocalResourceW(UInt16*, _LOCALRESOURCE**)
at Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetLocalResource(System.String, Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropLocalResource ByRef)
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetLocalResource(System.String)
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureUtility.GetLocalStoreDirectory()
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureStartupLogger.InitializeTraceProvider()
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureStartupLogger.get_TraceProvider()
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureStartupLogger.WriteLog(System.String, System.Diagnostics.TraceEventType, System.String)
at Microsoft.ApplicationServer.Caching.CacheDumpGenerator.ProcessDump.Main(System.String[])
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name=".NET Runtime" />
<EventID Qualifiers="0">1026</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2013-06-01T10:15:39.000000000Z" />
<EventRecordID>8188</EventRecordID>
<Channel>Application</Channel>
<Computer>RD00155D492637</Computer>
<Security />
</System>
<EventData>
<Data>Application: CacheDumpGenerator.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.SEHException
Stack:
at <Module>.RdGetLocalResource(UInt16*, _RD_RESOURCE**)
at <Module>.RdGetLocalResource(UInt16*, _RD_RESOURCE**)
at <Module>._LOCALRESOURCE.GetLocalResourceW(UInt16*, _LOCALRESOURCE**)
at Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetLocalResource(System.String, Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropLocalResource ByRef)
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetLocalResource(System.String)
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureUtility.GetLocalStoreDirectory()
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureStartupLogger.InitializeTraceProvider()
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureStartupLogger.get_TraceProvider()
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureStartupLogger.WriteLog(System.String, System.Diagnostics.TraceEventType, System.String)
at Microsoft.ApplicationServer.Caching.CacheDumpGenerator.ProcessDump.Main(System.String[])
</Data>
</EventData>
</Event>
Log Name: Application
Source: Application Error
Date: 6/1/2013 10:15:39 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: RD00155D492637
Description:
Faulting application name: CacheDumpGenerator.exe, version: 1.0.4797.0, time stamp: 0x506f41e8
Faulting module name: KERNELBASE.dll, version: 6.2.9200.16451, time stamp: 0x50988aa6
Exception code: 0xc06d007e
Fault offset: 0x000000000003811c
Faulting process id: 0x1934
Faulting application start time: 0x01ce5eb0f71984a5
Faulting application path: E:\plugins\Caching\CacheDumpGenerator.exe
Faulting module path: D:\Windows\system32\KERNELBASE.dll
Report Id: 34e2aca6-caa4-11e2-93ef-00155d492637
Faulting package full name:
Faulting package-relative application ID:
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2013-06-01T10:15:39.000000000Z" />
<EventRecordID>8189</EventRecordID>
<Channel>Application</Channel>
<Computer>RD00155D492637</Computer>
<Security />
</System>
<EventData>
<Data>CacheDumpGenerator.exe</Data>
<Data>1.0.4797.0</Data>
<Data>506f41e8</Data>
<Data>KERNELBASE.dll</Data>
<Data>6.2.9200.16451</Data>
<Data>50988aa6</Data>
<Data>c06d007e</Data>
<Data>000000000003811c</Data>
<Data>1934</Data>
<Data>01ce5eb0f71984a5</Data>
<Data>E:\plugins\Caching\CacheDumpGenerator.exe</Data>
<Data>D:\Windows\system32\KERNELBASE.dll</Data>
<Data>34e2aca6-caa4-11e2-93ef-00155d492637</Data>
<Data>
</Data>
<Data>
</Data>
</EventData>
</Event>
ServiceConfiguration.Cloud.csfg
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="OpenSpaceAzureDeploymentTesting" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
<Role name="OpenSpaceGUI">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="***" />
<Setting name="DataConnectionString" value="***" />
<Setting name="InMaintenanceMode" value="false" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="***" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="RxM6fiusFUxD/10qlvm0xvwMMBy0qbcGpsMRQUUufHD3DlUnJcaASHP0ygRESmvQDPh2ig0FsA0WK65UDrIJxFnBmRTH4WMPmJIlBa5w2Uht/g7wScwZ3UWN6NEQiHpdCPJSayef2iO3VVXRXxZYiHNdP25sMglcEmPQkVVyE4icoVHhFPffjR24uH7uNf8GK83jIbYYAcPKlVOE84pt5a/EPXG1vBQivf9nxRW84Z2jMxmectqi7Ip0tMjWnZx/IE9J28DwhKmnQSn3wlE4/qqGNxVOSp33VvAMDsGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIwFSSGHiZSSeAGH3U73yNANRQw6W4sIlmu1lpNEXv2mdWzQ==" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2050-01-01T23:59:59.0000000+00:00" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":false}},"secondaries":0},{"name":"companies","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":false}},"secondaries":0},{"name":"person","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":false}},"secondaries":0}]}" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="****" />
<Setting name="SiteStatus" value="ok" />
</ConfigurationSettings>
<Certificates>
<Certificate name="*.co.uk" thumbprint="**" thumbprintAlgorithm="sha1" />
<Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="BA399EA1E35B7E3FB00569C0FE1BCA76939EE87F" thumbprintAlgorithm="sha1" />
</Certificates>
</Role>
</ServiceConfiguration>
任何帮助将不胜感激!!
由于 Bhavesh
我确实尝试通过从NuGet中删除软件包从我的项目中删除Windows.Azure.Caching,我尝试将其部署到云,并且Web角色已成功部署,但我无法浏览到我的应用程序,因为它是在web.config中抱怨。
我发现下面的代码仍然存在于web.config中,并且没有被nuGet清理。
<dataCacheClients>
<dataCacheClient>
<autoDiscover isEnabled="true" identifier="OpenSpaceGUI" />
</dataCacheClient>
</dataCacheClients>
我从web.config中删除了上面的代码并再次部署到云端但没有运气,web角色在无端循环中回收,一旦我远程登录到服务器,我就发现了这个错误的详细信息。
Log Name: Microsoft-Azure-IISConfigurator/Operational
Source: Microsoft-Azure-IISConfigurator
Date: 6/5/2013 9:25:38 PM
Event ID: 3303
Task Category: None
Level: Error
Keywords:
User: SYSTEM
Computer: RD00155D49FC3E
Description:
Exception:System.Runtime.InteropServices.COMException (0xC00CEF03): Exception from HRESULT: 0xC00CEF03
Server stack trace:
at Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.CommitChanges()
at Microsoft.Web.Administration.Configuration.CommitChanges()
at Microsoft.Web.Administration.ConfigurationManager.CommitChanges()
at Microsoft.Web.Administration.ServerManager.CommitChanges()
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.WasManager.DeploySite(String roleId, WASite roleSite, String appPoolName, String sitePath, String iisLogsRootFolder, String failedRequestLogsRootFolder, List`1 bindings, List`1 protocols, FileManager fileManager, WAAppPool defaultAppPoolSettings, String roleGuid, String& appPoolSid, List`1 appPoolsAdded, String configPath)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
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.WindowsAzure.ServiceRuntime.IISConfigurator.WasContainer.DeploySite(String roleId, WASite roleSite, String appPoolName, String sitePath, String iisLogsRootFolder, String failedRequestLogsRootFolder, List`1 bindings, List`1 protocols, FileManager fileManager, WAAppPool defaultAppPoolSettings, String roleGuid, String& appPoolSid, List`1 appPoolsAdded, String configPath)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.IISConfigurator.Deploy(String roleId, WebAppModel webAppModel, String roleRootDirectory, String sitesDestinationRootDirectory, String diagnosticsRootDirectory, String roleGuid, String configPath)
我现在不知道为什么这不起作用,我们将不胜感激。
由于
答案 0 :(得分:1)
如果需要.NET 4.5支持,则需要在OS系列3中运行应用程序。您需要在 ServiceConfiguration.Cloud.cscfg 文件中指定此内容
<ServiceConfiguration serviceName="XXX"
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"
osFamily="3"
osVersion="*"
schemaVersion="2012-10.1.8">
可能无法升级您的实例,您可能需要部署一个新实例。
的更多详情更新
当您的Azure服务出现问题时,WaHostBootstrapper.exe将失败(通常没有任何有用的细节),因此很难确切地确定错误。它可能像missing references一样简单。
根据您发布的内容,您的某些 Microsoft.WindowsAzure.Plugins 也会遇到困难。我会尝试删除它们,看看角色是否仍然失败。
旁注 - 不再需要在cscfg文件中指定远程访问。来自ScottGu's blog:
Windows Azure云服务支持开发人员使用RDP进入Web和 工作者角色实例。这在调试问题时非常有用。
在今天发布之前,开发人员必须在此期间明确启用RDP支持 开发 - 在将Cloud Service部署到生产之前。如果你忘了 启用此功能,然后遇到生产中的问题,你无法进入RDP 没有做应用程序更新和重新部署(然后等待再次遇到问题)。
随着今天的发布,我们增加了支持,使管理员能够动态地发布 配置远程桌面支持 - 即使在初始期间未启用它 应用部署。这可以确保您始终可以调试生产中的问题,而不是 必须重新部署应用程序才能将RDP加入其中。
答案 1 :(得分:0)
如果您可以与本机建立远程桌面连接,那么请执行此操作,而不是仅仅查看事件查看器,打开IIS管理器并浏览到您的网站。
对我来说,这通常会显示一个ASP.NET黄色屏幕错误,指出尚未包含在已部署的Azure软件包中的所有必需文件。您应该将这些文件标记为“Copy Local = true”并重新部署 - 您可能需要多次执行此操作以捕获所有丢失的文件。