加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 升级到.Net 4.5和osFamily 3后无法启动Azure Web

发布时间:2020-12-16 03:15:51 所属栏目:asp.Net 来源:网络整理
导读:我有MVC 3应用程序曾经在osFamily 1(Win 2008 SP2)和.Net 4.0上正常工作,并希望升级到.Net 4.5和 Windows 2012. 我的项目升级到.Net 4.5,它构建没有任何问题,并在模拟器中运行没有问题. 当我部署到Windows Azure时,我收到此消息的角色 – “回收(等待角色开
我有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事件查看器中找到了以下错误消息.

错误消息1

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:basex64WaHostBootstrapper.exe
Faulting module path: D:WindowsSYSTEM32ntdll.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:basex64WaHostBootstrapper.exe</Data>
    <Data>D:WindowsSYSTEM32ntdll.dll</Data>
    <Data>34c3ae25-caa4-11e2-93ef-00155d492637</Data>
    <Data>
    </Data>
    <Data>
    </Data>
  </EventData>
</Event>

错误消息2

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 &lt;Module&gt;.RdGetLocalResource(UInt16*,_RD_RESOURCE**)
   at &lt;Module&gt;.RdGetLocalResource(UInt16*,_RD_RESOURCE**)
   at &lt;Module&gt;._LOCALRESOURCE.GetLocalResourceW(UInt16*,System.String)
   at Microsoft.ApplicationServer.Caching.CacheDumpGenerator.ProcessDump.Main(System.String[])
</Data>
  </EventData>
</Event>

错误消息3

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:pluginsCachingCacheDumpGenerator.exe
Faulting module path: D:Windowssystem32KERNELBASE.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:pluginsCachingCacheDumpGenerator.exe</Data>
    <Data>D:Windowssystem32KERNELBASE.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="{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;companies&quot;,{&quot;name&quot;:&quot;person&quot;,&quot;secondaries&quot;: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,String configPath)
   at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.IISConfigurator.Deploy(String roleId,WebAppModel webAppModel,String roleRootDirectory,String sitesDestinationRootDirectory,String diagnosticsRootDirectory,String configPath)

我不知道为什么这不起作用,任何帮助将不胜感激.

谢谢

解决方法

如果需要.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 blog的更多细节

更新

当您的Azure服务出现问题时,WaHostBootstrapper.exe将失败(通常没有任何有用的细节),因此很难确切地确定错误.它可能像missing references一样简单.

从你发布的内容看起来,你的一些Microsoft.WindowsAzure.Plugins也很难过.我会尝试删除它们,看看角色是否仍然失败.

附注 – 不再需要在cscfg文件中指定远程访问.从ScottGu’s blog:

Windows Azure Cloud Services support the ability for developers to RDP into web and
worker role instances. This can be useful when debugging issues.

Prior to today’s release,developers had to explicitly enable RDP support during
development – prior to deploying the Cloud Service to production. If you forgot to
enable this,and then ran into an issue in production,you couldn’t RDP into it
without doing an app update and redeploy (and then waiting to hit the issue again).

With today’s release we have added support to enable administrators to dynamically configure remote desktop support – even when it was not enabled during the initial app deployment. This ensures you can always debug issues in production and never have to redeploy an app in order to RDP into it.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读