当前位置: 首页 > 编程语言 > C#

应用程序抛出修改web.config的异常,但事实并非如此分享

时间:2023-04-11 12:18:39 C#

Theapplicationthrowsanexceptionthattheweb.configismodified,butitisnotbeingonmyasp.netWeb表单网站我在使用Azure应用程序服务时遇到了奇怪的问题。得到示例:ConfigurationErrorsExceptionSystem.Configuration.BaseConfigurationRecordinEvaluateOne配置文件已被另一个程序更改。(D:homesitewwwrootweb.config)ConfigurationErrorsException:配置文件已被另一个程序更改。(D:homesitewwwrootweb.config)模块“System.Configuration.BaseConfigurationRecord”,第72行,第0栏,在EvaluateOneSystem.ObjectEvaluateOne(System.String[],System.Configuration.SectionInput,Boolean,System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object)模块“System.Configuration.BaseConfigurationRecord”,第515行,第0列,在EvaluateBooleanEvaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,Boolean,Boolean,System.ObjectByRef,System.ObjectByRef)模块“System.Configuration.BaseConfigurationRecord”,第666行,列0,在GetSectionRecursiveVoidGetSectionRecursive(System.String,Boolean,Boolean,Boolean,Boolean,System.ObjectByRef,System.ObjectByRef)模块“System.Configuration.BaseConfigurationRecord”,第0行,列0,在GetSectionSystem.ObjectGetSection(System.String)模块“System.Web.Configuration.RuntimeConfig”,第0行,第0栏,在GetSectionObjectSystem.ObjectGetSectionObject(System.String)模块“System.Web.Configuration.RuntimeConfig”,第19行,第0栏,在GetSectionSystem.Object类型,结果索引)模块“System.Web.Configuration.RuntimeConfig”,第0行,第0列,在get_AuthorizationSystem.Web.Configuration.AuthorizationSectionget_Authorization()模块“System.Web.Security.UrlAuthorizationModule”,第153行,第0列,在OnEnterVoidOnEnter(System.Object,System.EventArgs)Module"System.Web.HttpApplication+SyncEventExecutionStep",line65,col0,inSystem.Web.HttpApplication.IExecutionStep.Execute无效System.Web.HttpApplication.IExecutionStep.Execute()模块“System.Web.HttpApplication”,第21行,第0列,在ExecuteStepSystem.ExceptionExecuteStep(IExecutionStep,BooleanByRef)应用程序在部署10-15分钟后抛出异常YSOD。应用程序没有重新启动它只是显示YSOD但没有人编辑web.config。修改日期没有改变,内容也没有-与win合并和文件相比是一样的(部署后直接抛出异常)。手动保存web.config(不做任何更改)文件或重新部署应用程序之后问题,它将在接下来的10-15分钟内得到解决。@EDIT1也尝试过:@EDIT2我们在6.6.2017的日志中遇到了第一个错误,它不时发生(我说每周一次。但它是测试环境,流量很低)直到前两天(27.06.2017)。然后就炸了,一直这样。@EDIT3我从symbolserver下载源码调试,当前从方法GetStreamVersion返回的versionisweird.Lastwritetimeisthecreationtimebefore10minutes.(也许它与应用程序崩溃之前的10-15有某种联系?)最后一个版本与当前版本相比是正常的。最后一次Createdbeforewriting。不确定为什么修改创建时间。我使用powershell在kudu上仔细检查了它,一切似乎都正常(值与lastVersion中的值相同)。当前版本:lastVersion:采取与kuduforweb.config时间:https://github.com/Microsoft/referencesource/blob/master/System.Configuration/System/Configuration/BaseConfigurationRecord.cs#L3988收到Azure团队回复:SetWEBSITE_DYNAMIC_CACHE_FCN_MODE=1第一次尝试,根据问题行为,应该可以解决问题。如果此设置无法解决,我们需要转到WEBSITE_DYNAMIC_CACHE=0旁注:设置WEBSITE_DYNAMIC_CACHE_FCN_MODE=1不会对性能造成影响。如果网站内容很大,设置WEBSITE_DYNAMIC_CACHE=0可能会在初始加载期间稍微影响性能。他们仍在调查为什么会出现此问题。有关解决此问题的任何消息吗?因为我添加了@JeroenSlor描述的所有设置,但问题仍然存在。请确保您使用的是WEBSITE_DYNAMIC_CACHE=0不要使用WEBSITES_DYNAMIC_CACHE=0因为它不会工作。过去几天一直出现错误,我还没有弄清楚是什么设置或行为导致了它。迄今为止;我没有尝试过Jeroen的任何解决方案,因为我觉得重新启动或重新部署比更改我不理解的设置更舒服。看起来@JeroenSlor的回答也帮助了我一段时间,但在下一次应用程序部署后它又回来了。所以上面提到的标志看起来有一些安慰剂效应。如果查看在WebApp(https://[yourwebapp].scm.azurewebsites.net/Env.cshtml)上设置的环境变量,您将看到一个变量列表:WEBSITE_AUTH_ENABLED=FalseWEBSITE_COMPUTE_MODE=DedicatedWEBSITE_CURRENT_STAMPNAME=WEBSITE_DYNAMIC_CACHE=1WEBSITE_HOME_STAMP_NAME=W.azurewebsites.netWEBSITE_HTTPLOGGING_ENABLED=0...等等如果您查看此列表,您会发现提到了WEBSITE_DYNAMIC_CACHE=1。但是...请找出不同之处-这是WEBSITE_,而不是之前建议的WEBSITES_。所以我猜这些标志应该是WEBSITE_DYNAMIC_CACHE_FCN_MODE和WEBSITE_DYNAMIC_CACHE,但这只是我的猜测,因为很难找到任何关于它的官方回应。我不是在责备,只是真的想找到一个真正的解决办法。;)根据Microsoft支持(我们在发现这篇文章的同时提出了这个问题的票)-这里有一个小错误-它应该是网站-而不是网站。如果有人仍在为此苦苦挣扎,我们的案例是从web.config中删除标志会有所帮助。不知道为什么,但我怀疑在web.config中有一个位置标志会以某种方式导致OP提到的GetStreamVersion方法出现问题。以上是C#学习教程:应用抛出异常web.config被修改,但这并不是分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右转联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢