【问题标题】:I don't find 'WebRole.cs' file in my PHP Web ROle我在我的 PHP Web ROle 中找不到“WebRole.cs”文件
【发布时间】:2012-08-01 07:45:56
【问题描述】:

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

【问题讨论】:

    标签: php azure azure-diagnostics


    【解决方案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

    【讨论】:

    • +1 用于讨论将 diagnostics.wadcfg 添加到您的包中。我认为只有将其添加到存储帐户中的容器中才会起作用,但将其包含在包中也可以!更多信息:blogs.msdn.com/b/davidhardin/archive/2011/03/29/…
    • 好的。我得到它!我的问题是配置文件,因为我必须将标签 0 更改为 1。无论如何,现在我需要设置“性能计数器”。为此,我是否需要更改 OnStart 方法?或者我可以用配置文件来做吗?谢谢!!
    • 可以使用 diagnostics.wadcfg 文件配置性能计数器。我给出的例子有一些内容。
    • 啊,太好了!!最后一个疑问:) 我认为我的 diagnostics.wadcfg 文件有问题。问题是我认为诊断监视器没有使用我们的 diagnostics.wadcfg 文件。实际上没有任何 wad-control-container 文件,当实例启动时会出现此文件,并且配置与 diagnostics.wadcfg 不同。我认为诊断监视器正在使用这个新文件。再次感谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多