测试默认文档请求?

问题描述:

有没有办法以编程方式知道某人使用IIS的默认文档功能来访问我的页面(也就是说,我的.ASPX的名称不在他们的URL中)?测试默认文档请求?

我能想到的唯一的办法就是查询的网址(以看它是否要求http://localhost/virtual/代替http://localhost/virtual/default.aspx),并认为默认文档...

不为MVC或者如果你有URL重写功能...我不知道这一个IIS功能会,除非出于某种原因,它被添加作为一个模块并通过IIS 7中提供的...

我不认为有办法做到这一点。如果使用默认文档功能,则IIS只会在将文档传递给ASP.NET之前将文档名称放入URL中。

什么是你想用这个来完成?如果你喜欢,你可以关闭默认文件。

+0

我的Application_BeginRequest触发一些逻辑,每当请求的文件不能在磁盘上找到。当他们要求默认文档时,该逻辑正在触发(IIS7,并且Request.Path根本不反映.aspx文件名)。我很想加入,当用户使用默认文档获取对*不*存在的页面的例外。 – lance 2010-01-30 16:29:26

+0

当文件不能被发现,火灾真的有无关404型的东西,但也许我应该把这个逻辑在我的404处理器页面的逻辑。这样,默认文档方案永远不会触发该代码。 – lance 2010-01-30 16:30:54

+0

@lance:我认为如果你得到一个没有文件名的请求,那么默认文档是关闭的。至少在IIS6和更低版本中这是事实,我没有意识到它在IIS7中发生了很大的变化。 – 2010-01-30 16:55:26