加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows Azure – “配置文件缺少一个或多个角色的诊断连接字符

发布时间:2020-12-14 02:25:47 所属栏目:Windows 来源:网络整理
导读:在 Windows Azure管理管理门户中,当我尝试监视实例时,出现以下错误: 配置文件缺少一个或多个角色的诊断连接字符串.无法为这些角色启用监控. 我的服务有2个角色. MyApp.Cache在监控图上运行正常. MyApp.Website不显示监控图. 这就是为什么我没有那个值=“Use
在 Windows Azure管理管理门户中,当我尝试监视实例时,出现以下错误:

配置文件缺少一个或多个角色的诊断连接字符串.无法为这些角色启用监控.

我的服务有2个角色.

MyApp.Cache在监控图上运行正常.

MyApp.Website不显示监控图.
这就是为什么我没有那个值=“UseDevelopmentStorage = true”的问题.

我的服务配置如下:

<Role name="MyApp.Website">
    <Instances count="2" />
    <ConfigurationSettings>      
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" />      
    </ConfigurationSettings>
    </Role>
    <Role name="MyApp.Cache">
    <Instances count="2" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.Loglevel" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />      
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" />      
    </ConfigurationSettings>
</Role>

我的服务定义是这样的:

<ServiceDefinition name="MyApp.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
  <WebRole name="MyApp.Website" vmsize="ExtraSmall">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
    <LocalResources>
        <LocalStorage name="DiagnosticStore" sizeInMB="4096" cleanOnRoleRecycle="false"/>
    </LocalResources>    
  </WebRole>
  <WorkerRole name="MyApp.Cache" vmsize="ExtraSmall">
    <Imports>
      <Import moduleName="Diagnostics" />
      <Import moduleName="Caching" />
    </Imports>
    <LocalResources>
      <LocalStorage name="Microsoft.WindowsAzure.Plugins.Caching.FileStore" sizeInMB="4096" cleanOnRoleRecycle="false" />
    </LocalResources>
  </WorkerRole>
</ServiceDefinition>

解决方法

为了使诊断工作,您需要在.csdef中导入诊断模块,并在.cscfg文件中提供有效的连接字符串.

在您的情况下,您已正确包含诊断模块,但是您没有在.cscfg文件中提供有效的连接字符串.您需要将“AccountName”替换为实际帐户名,将“AccountKey”替换为有效帐户密钥.为此,您需要创建Azure存储帐户并在此处复制其连接字符串.

此外,即使它不是您问题的一部分,在部署解决方案时也不应使用“UseDevelopmentStorage = true”.它基本上使用您的本地存储模拟器作为您的Azure存储帐户,这在云中不可用.您还需要在辅助角色中提供有效的存储帐户连接字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读