我需要global.asax文件中的一个函数,当用户输入页面url时,该函数只被调用一次。 application_beginrequest在一个页面中被调用50-60次(为了向一个页面呈现多个请求到服务器。)
我想到了一个解决方案 - 我可以在global.asax中编写我的函数并在其他页面的页面加载时调用它,但在该解决方案中我需要在每个页面中调用它。我更喜欢只在global.asax
中完成的事情答案 0 :(得分:0)
您可以在Begin_Request函数中测试请求网址:
protected void Application_BeginRequest(object sender, EventArgs e)
{
// Perform some test on the request url that suits your case:
if (Request.Url.ToString().EndsWith(".aspx"))
{
// ...
}
}
答案 1 :(得分:0)
您的方法的另一个变体是创建一个Page的子类,它调用您的全局方法,或者自己完成工作,然后让您的所有页面扩展您的类而不是直接扩展Page。
public class AcmePage : Page{
// override/subscribe to one of the page events
}
...
public class HomePage : AcmePage
如果您只是想计算网页浏览量,那么可能需要查看可用的预建分析服务,例如免费的google analytics。还有其他像CoreMetrics等。