部署Azure Webrole开始陷入困境

时间:2013-10-15 07:58:58

标签: azure azure-web-roles

我在尝试部署Web角色时遇到了一些重大问题。 大约30分钟后,门户网站一直告诉我

  

忙碌(起始角色......网站已部署。[2013-10-15T05:54:43Z])

如果我实际访问该网站,我可以访问它,但是我感到不舒服,所有信息都在天蓝色门户网站上显示。

我已经检查了dll都设置为复制本地。 我已经更新了web.config

  <dependentAssembly>
    <assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
  </dependentAssembly>

我认为我的服务定义没问题

<ServiceDefinition name="My.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0">
 <WebRole name="My.WebApplication" vmsize="Small">
<Sites>
  <Site name="Web">
    <!--<VirtualApplication name="API" physicalDirectory="_PublishedWebsites\Api"/>-->
    <Bindings>
      <Binding name="HttpsIn" endpointName="HttpsIn"/>
    </Bindings>
  </Site>
</Sites>
<Endpoints>
 <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="CoolCert"/>
</Endpoints>
<Imports>
  <Import moduleName="Diagnostics" />
  <Import moduleName="RemoteAccess" />
  <Import moduleName="RemoteForwarder" />
</Imports>
<Certificates>
  <Certificate name="CoolCert" storeLocation="LocalMachine" storeName="CA"   />
</Certificates>

我的WebRole

  public class WebRole : RoleEntryPoint
{
    public override bool OnStart()
    {

        if (!Trace.Listeners.OfType<DiagnosticMonitorTraceListener>().Any())
        {
            Trace.Listeners.Add(new DiagnosticMonitorTraceListener());
        }
        AppDomain.CurrentDomain.UnhandledException += UnhandledExpectionEventHandler;

        Trace.TraceInformation("Started" + DateTime.Now);
        return base.OnStart();
    }

    private void UnhandledExpectionEventHandler(object sender, UnhandledExceptionEventArgs e)
    {
        var ex = e.ExceptionObject as Exception;
        var baseEx = ex.GetBaseException();
        Trace.TraceError(baseEx.Message+"\n"+baseEx.StackTrace);
    }
}

我看了一下服务器上的事件查看器,没有任何东西向我跳过。

出现此错误

  

找不到源TraceLog Profiler中事件ID 8的描述。引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复该组件。

 If the event originated on another computer, the display information had to be saved with     the event.

 The following information was included with the event: 

 w3wp.exe
 DumpObject

任何人都可以从上面看到任何错误或建议我可以尝试的其他内容。

2 个答案:

答案 0 :(得分:0)

要检查的第一个地方是WaHostBootstrapper日志,以查看该日志中的最后几件事。 http://blogs.msdn.com/b/kwill/archive/2013/08/09/windows-azure-paas-compute-diagnostics-data.aspx系列将引导您完成所有诊断数据以及如何使用数据来解决此类问题。

答案 1 :(得分:0)

看起来你正在使用跟踪。您是否确保跟踪已启动,以便创建错误表? 以下代码是我使用的,它运作良好

 // Set the maximum number of concurrent connections 
 ServicePointManager.DefaultConnectionLimit = 12;

 //Diag kick start
 System.Diagnostics.Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener());
 var config = DiagnosticMonitor.GetDefaultInitialConfiguration();
 DiagnosticMonitorTraceListener tmp = new DiagnosticMonitorTraceListener();
 System.Diagnostics.Trace.Listeners.Add(tmp);
 config.Logs.BufferQuotaInMB = 200;
 config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0);
 DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);
 System.Diagnostics.Trace.Write("Test");