我最近安装了 VS 2012 和 .net Framework 4.5,一切正常,只是偶尔会报错:此操作需要 IIS 集成管道模式。
我当然有托管管道模式:集成在 IIS 中。
protected override void OnLoad(EventArgs e)
{
var st = new StackTrace(true);
string message = String.Format("Redirect to url: {0}, Stack Trace:\r\n{1}", url, st);
Trace.TraceInformation(message);
}
protected void Application_Start(Object sender, EventArgs e)
{
Trace.Listeners.Add(new OurAspTraceListener(Context));
}
自定义跟踪侦听器非常简单。
private class OurAspTraceListener : TraceListener
{
private readonly HttpContext _context;
public OurAspTraceListener(HttpContext context)
{
_context = context;
_context.Trace.IsEnabled = true;
}
public override void Write(string message)
{
_context.Trace.Write(message); // it's throwing here.
}
public override void WriteLine(string message)
{
_context.Trace.Write(message);
}
}
这真的很奇怪,因为如果我只是点击刷新它会继续没有任何问题。
任何帮助将不胜感激,谢谢。