我有一个简单的HTTPModule,它执行一些自定义会话状态管理。由HTTPModule拦截的JS,图像和CSS
public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(ProcessBeginRequest);
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In Init " + HttpContext.Current.Request.Url.AbsoluteUri);
}
和
public void ProcessBeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In ProcessBeginRequest ");
if (application != null)
{
string requestURL = application.Context.Request.Url.ToString();
ActivityLogger.LogInfo(DateTime.UtcNow.ToLongTimeString() + " In ProcessBeginRequest " + requestURL);
}
return;
}
当我运行这段代码使用断点,我看到这个模块得到了调用,即使对于像图片,JS和CSS静态文件。有没有人经历过这个?我想HTTP模块只是挂在http管道中的事件在asp.net页面上。他们是否也接触到静态资源?还是仅仅与卡西尼?
环境:VS2008 - 卡西尼服务器
PS:我与Win2k8 IIS7在我们的沙盒(还挺新)尝试,并试图将其写入到一个日志文件(因为我们没有VS那里),但无法写入日志文件。确定它的一些写权限问题。任何人都可以指向我一些资源,告诉我如何设置W2k8中IIS7运行ASP.net时对目录的写权限
Edit1:据我所知,使用集成管道将扩展静态和托管资源的http管道 http://aspnet.4guysfromrolla.com/articles/122408-1.aspx和http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis7/
我们在我们的产品中使用经典的管道。但仍然有兴趣了解其他人的经历。
问题2:在集成模式下使用IIS7会降低性能吗?假设你有几个模块与管道连接,性能影响有多大?如果有人能指出我为此完成的一些基线研究,那将会很好。
谢谢。将此添加到http://cassinidev.codeplex.com的待办事项 – 2010-07-24 19:40:11
您的“自我注释”是纯金! Upvotes! – jerhewet 2011-08-23 21:05:35
有没有一种很好的方式在IIS6中实现这一点? 我知道它与这个问题略有无关,但是对于像我这样的人来说,由于仅是问题标题,这将是一个很好的参考。 – 2011-08-25 15:42:56