根据我的代码,我需要在应用程序启动时进行一些缓存,这需要时间。所以我想到了使用IIS“预加载”功能。我读到它,以防万一 - IIS向网站发出虚假请求。
现在,我有两个混淆:
protected void Application_Start()
中收到应用程序启动事件,但我没有Request对象(它为null)。我需要我的应用程序的基本URL来处理某些东西,任何帮助我如何在没有Request对象的情况下拥有它答案 0 :(得分:0)
是的,这是正确的,Request对象在那里不可用,因为它不是请求的一部分,只有应用程序启动,如果应用程序尚未启动则会自动触发并检测到请求。
还有另一种方法,void Application_BeginRequest(Object sender, EventArgs e)
可能就是你要找的东西。这当然是针对每个请求运行的,但是我确信你可以设置一些条件,无论你想做什么只运行一次。
请注意,并非所有内容都可用,因此您还可以试用另一种方法protected void Application_AcquireRequestState()
。
答案 1 :(得分:-1)
您可以尝试使用:
System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
与请求无关。