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