0

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

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

如果我真的访问了该网站,我可以访问它,但是我对在 azure 门户中显示的消息感到不舒服。

我检查了 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>

我的网络角色

  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

任何人都可以从上面看到任何问题或提出其他我可以尝试的建议。

4

2 回答 2

0

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

于 2013-10-15T15:08:26.787 回答
0

看起来你正在使用跟踪。您是否确保跟踪已启动,以便创建 wad 错误表?以下代码是我使用过的,效果很好

 // 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");
于 2013-10-16T11:51:13.920 回答