在Global.asax中,我添加了此方法,因此我可以为每个请求获取GUID
protected void Application_BeginRequest(object sender, EventArgs e)
{
Trace.CorrelationManager.ActivityId = Guid.NewGuid();
}
我可以将此GUID写入我的NLog文件。
如何将此传递到我的自定义aspx页面(错误页面),以便用户可以发送我的GUID以便我轻松查看错误文件?
在asax.cs文件中,我尝试添加 Page_Load 这个
string _SessionGuid = Trace.CorrelationManager.ActivityId.ToString();
但VS说这个错误虽然我有 System.Diagnostics 参考:
错误21' System.Web.TraceContext'不包含的定义 ' CorrelationManager'没有扩展方法' CorrelationManager' 接受类型为#System; Web.TraceContext'的第一个参数。可能 发现(你错过了使用指令或程序集 参考?)C:... \ ErrorPage.aspx.cs
答案 0 :(得分:0)
我已经解决了这个问题。
在HomeController我有
42
在ActionResult中这个
public class HomeController : Controller
{
private readonly string _SessionGuid =
Trace.CorrelationManager.ActivityId.ToString();
....
}
发生错误时,我将此代码路由到
中的ErrorControllerpublic ActionResult About()
{
Session["test"] = _SessionGuid;
....
}