我有三个项目:My.Business、My.WebSite 和 My.WebService
我需要我的日志记录类能够识别来自网站和网络服务的请求。我曾经让 Web 服务作为网站下方的单独应用程序运行,所以我只使用不同的配置文件,效果很好。但我现在希望 Web 服务在同一个应用程序下运行。
如果我能确定请求是来自 My.WebSite 还是来自 My.WebService,我会做好准备,但我不知道该怎么做。
- Assembly.GetExecutingAssembly() 返回 My.Business
- Assembly.GetEntryAssembly() 为空
- 我可以检查 StackTrace,但这似乎很草率,我该怎么回去?特别是因为日志记录可能由最初从其他项目之一调用的 My.Business 中的代码触发。
由于 Web 服务请求以“.asmx”结尾,因此以下概念有效,但感觉不对。
return HttpContext.Current.Request.Path.IndexOf(".asmx") >= 0 ? "My.WebService" : "My.WebSite";
谢谢!