我在PHP Web ROle中找不到'WebRole.cs'文件

时间:2012-08-01 07:45:56

标签: php azure azure-diagnostics

尝试在PHP Web角色中配置Windows Azure诊断时遇到问题。我已经读过我必须修改 WebRole.cs 文件中的OnStart()方法,对吧?但问题是我在我的项目中找不到这个文件。我没有!我认为这个文件是自动创建的,或者我是否必须创建它?

1 个答案:

答案 0 :(得分:1)

我认为没有必要将任何代码添加到WebRole.cs文件中(PHP中没有代码)。

但是,您可以通过将诊断模块添加到包中来设置诊断。您可以通过修改ServiceDefinition.csdef(假设您有一个)来包含诊断模块,如下所示:

<ServiceDefinition name="xxx">
  <WebRole name="xxx" vmsize="ExtraSmall">
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

然后,您需要设置要写入诊断信息的存储帐户,方法是修改ServiceConfiguration.cscfg以添加如下设置:

<ServiceConfiguration serviceName="xxx" osFamily="1" osVersion="*">
  <Role name="xxx">
    <Instances count="1" />
    <ConfigurationSettings>
      <Setting 
        name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" 
        value="YOUR_STORAGE_CONNECTION_STRING" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

然后,您需要将一个diagnostics.wadcfg文件添加到您的软件包中,该文件告诉诊断模块您希望如何捕获信息。这里有一个示例:https://gist.github.com/2520279