我需要在服务器上发出的每个请求之前或之后运行的事件。
如果该事件存在,我需要在该事件上运行一些代码。
例如:有人输入http://www.website.com/some-link
我需要在应用程序处理之前检查此链接。
我正在使用C#网络表单。
到目前为止,我试图在Global.asax.cs中找到事件,比如
protected virtual void Application_BeginRequest(object sender, EventArgs e)
{
// need to track requested url
// code that needs to be run with requested url.
}
这种情况有适当的解决方案吗?
TNX
答案 0 :(得分:8)
正确的解决方案是使用事件Application_BeginRequest,除非你想复杂化并使用我不推荐的httpmodules。
protected virtual void Application_BeginRequest(object sender, EventArgs e)
{
var url = Request.Url.AbsoluteUri;
var path = Request.Url.AbsolutePath;
var host = Request.Url.Host;
// your magic goes here
}
正如一些信息所有事件的顺序是: