有没有办法在Elmah中以编程方式设置应用程序名称?我需要根据我在VisualStudio中使用的配置更改应用程序名称。例如,如果我处于调试配置中,我希望应用程序名称在Elmah_Error表的应用程序字段中显示为“App_Debug”。有人对此有经验吗?或者还有其他方法吗?默认情况下,Elmah使用AppPool的应用程序GUID作为默认应用程序名称。当您查看通过其HTTP模块创建的Web界面时,它使用此作为识别Elmah_Error表中错误的关键。今年早些时候,我的任务是为我的公司探索这个选项。由于Elmah从ErrorLog.cs文件中的HttpRuntime.AppDomainAppId中提取应用程序名称,我不知道默认情况下该怎么做。你可以用任何你想要的键来操纵它;但是,这是AppPool的GUID。话虽如此,我能够操纵ErrorLog.cs文件将Elmah变成一个可调用的框架而不是基于处理程序的框架,并允许我设置ApplicationName。我最终做的是修改ErrorLog.cs以包含一个允许我设置如下名称的属性:}返回_applicationName;}设置{_applicationName=值;您可能需要做的是进行不同的调整,并将ApplicationName设置为HttpRuntime.AppDomainAppId以外的其他名称,而不是从web.config中提取一个值。总而言之,这是可能的。我这样做的方法是增强ErrorLog.Log(ex)方法,这样我就可以使用Elmah在Web应用程序外部调用一个框架。回顾过去,我希望我已经完成了app/web.config方法。在Elmah中更改应用程序名称时要记住一件事。生成/elmah/default.aspx接口的http处理程序将不再工作。我仍在努力寻找时间来解决这个问题;但是,您可能需要考虑在实施时创建自定义界面。这现在可以完全用标记来完成。只需将applicationName属性添加到web.config文件的errorLog部分中的errorLog元素。示例:我已经对此进行了测试,它可以通过Elmah.axd记录异常和查看日志。在OP的情况下,可以想象它也可以通过编程方式设置,但我还没有测试过。对于我和大多数情况,标记方法就足够了。C#学习教程就是这些:有没有一种方法可以在Elmah中以编程方式设置应用程序名称?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
