gpt4 book ai didi

c# - Azure Web 角色抛出 web.config 中无法识别的元素 'autoDiscover'

转载 作者:太空狗 更新时间:2023-10-29 21:45:44 34 4
gpt4 key购买 nike

我正在尝试使用 Session State Provider for Windows Azure Caching在一个 Web 角色的两个实例上运行的并置缓存上。我有一个 ASP.NET MVC4 项目。我关注了Microsofts guide关于如何设置它,并进行了多次但结果相同。当我发布到 Azure 时,我在每个页面上都会看到一个 YSOD。

我查看了 Azure 实例上的日志,发现了可能导致此问题的异常:

Event code: 3008 
Event message: A configuration error has occurred.

...

Exception information:
Exception type: DataCacheException
Exception message: ErrorCode<ERRCMC0003>:SubStatus<ES0001>:Error in client configuration file.
at Microsoft.ApplicationServer.Caching.ConfigFile.ThrowException(Int32 errorCode, Exception e)
at Microsoft.ApplicationServer.Caching.ClientConfigReader.Init(String path)
at Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration..cctor()

Unrecognized element 'autoDiscover'. (E:\sitesroot\0\web.config line 20)
at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
at System.Configuration.ConfigurationManager.GetSection(String sectionName)
at Microsoft.ApplicationServer.Caching.ClientConfigReader.Init(String path)

我意识到这与我的 web.config 和此部分有关:

<dataCacheClients> 
<tracing sinkType="DiagnosticSink" traceLevel="Error" />
<dataCacheClient name="default">
<autoDiscover isEnabled="true"/>
</dataCacheClient>
</dataCacheClients>

但是该部分直接取自 Microsoft 指南。我还尝试卸载并重新安装 WindowsAzure.Caching Nuget 包,这会将正确的条目添加到 web.config 中,但看起来也完全相同。

我找到了this discussion在 MSDN 上关于看起来相同的问题,但我启动了一个新的 Azure Web 角色,所以在这种情况下我看不到它应该与 GAC 和旧版本的 SDK 相关,或者我是否遗漏了一些东西?

在我的 Azure 实例上查看已部署站点的 bin 文件夹,我发现我的 Microsoft.ApplicationServer.Caching.Client.dll 的文件版本和Microsoft.ApplicationServer.Caching.Core.dll1.0.4621.0 。当我安装 WindowsAzure.Caching 时,我的项目中引用的文件与此相同。 Nuget 包。这是正确使用的文件吗?

经过 15 小时的调试,我们将非常感谢任何对此的意见。

更新:

我实际上得到了this project当我将其发布到新 Web 角色的两个实例时,它就可以工作了。我将开始检查该部署,看看是否可以发现任何差异。

更新2:

不同的是我的项目使用版本1.0.4621.0Microsoft.ApplicationServer.Caching.Client.dllMicrosoft.ApplicationServer.Caching.Core.dll ,而微软的项目使用1.0.4655.0 。所以实际上可能是我使用的是旧版本的 SDK。由于某种原因,我的项目坚持在我发布时上传这些文件,即使我删除了它们,但如果这解决了问题,我会得到完整的答案。

最佳答案

尝试将最新的Azure SDK升级到1.7 SP11.8Azure SDK 1.8 was just released this weekAccording to MSDN forumsautoDiscover 仅在 role-based cachingAzure SDK 1.7.1+ 中受支持.

<强> Azure SDK 1.6 (2011 年 11 月)汇编版本:1.0.4617.0
<强> Azure SDK 1.7 (2012 年 6 月)汇编版本:1.0.4621.0
<强> Azure SDK 1.7.1 (2012 年 6 月 SP1)程序集版本:1.0.4655.0
<强> Azure SDK 1.8 (2012 年 10 月)程序集版本:1.0.4797.0

关于c# - Azure Web 角色抛出 web.config 中无法识别的元素 'autoDiscover',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155683/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com