抱歉,如果这个网站上已经回答了这个问题,我搜索但没有找到这个确切的场景。
我正在将 log4net 添加到 WCF 服务。我在 Application_Error 事件中添加了一个处理程序,它在每个请求上都捕获了一个未找到文件的错误。
我在网站上看到过这种情况,通常该错误可以追溯到根目录中没有“favicon”文件,或者在 css 样式表中引用了丢失的图像。
但是,这是一个 WCF 服务,没有 CSS 样式表,在根目录下添加一个 favicon 并没有解决问题。
还有其他人有解决此问题的好方法吗?
一些线索:
- 我还没有将它部署到真正的 IIS 服务器上,我在本地运行它。
- 当我在 Visual Studio 中的 DEBUG 中运行时不会发生错误,仅当我从 Web 浏览器(IE 或 Chrome)访问服务时
我在错误消息中添加了 url 和文件路径,它们是这样的:
文件路径: /
错误: System.Web.HttpException (0x80004005):文件不存在。
编辑:以上值显示在记录的异常中:
protected void Application_Error(object sender, EventArgs e)
{
var objErr = Server.GetLastError().GetBaseException();
if (objErr is System.Web.HttpException)
{
var filePath = Context.Request.FilePath;
var url = ((HttpApplication) sender).Context.Request.Url;
Log.Error("URL: " + url + "; FilePath: " + filePath, objErr);
} else
Log.Error("Application Error", objErr);
}
任何帮助将不胜感激。