在global.asax Application_BeginRequest中添加动态参数

时间:2015-02-09 14:46:21

标签: c# .net global-asax

我正在读这个帖子:http://sandblogaspnet.blogspot.com/2008/03/methods-in-globalasax.html

我正在尝试在每个请求中发送额外信息(在Application_BeginRequest中)。可以在此之前添加一个新参数来执行请求吗?

参数是自定义guid(用于跟踪用法)和移动检测。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。一种可能的方法是将该信息存储在Items类的HttpContext字典中。以下是ASP.NET MVC的global.asax文件中的示例实现:

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    { }

    protected void Application_BeginRequest(Object sender, EventArgs e)
    {
        HttpContext.Current.Items["CustomVariable"] = Guid.NewGuid();
    }
}       

此信息将在请求期间可访问,因此您可以稍后在控制器等中检索它。

如果您使用的是ASP.NET MVC,您也可以使用全局操作过滤器来执行类似的操作,并在global.asax中注册它。