首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS6中未使用自定义VirtualPathProvider

IIS6中未使用自定义VirtualPathProvider
EN

Stack Overflow用户
提问于 2010-08-30 22:23:49
回答 4查看 713关注 0票数 2

我在global.asax的Application_Start方法中添加了以下几行:

代码语言:javascript
复制
var provider = new TestVirtualPathProvider();
HostingEnvironment.RegisterVirtualPathProvider(provider);

然而,在IIS6中部署此应用程序时,从不使用'TestVirtualPathProvider‘(它在ASP.NET开发服务器中使用)。

编辑:默认路径提供程序总是正确地完成其工作,并且正确地提供(非嵌入式)视图。问题很简单,我想使用我自己的路径提供程序来提供嵌入式视图。因此,最初,我已经配置了以下通配符映射:

这在IIS6中不起作用有什么可能的原因吗?是否有其他因素(例如处理程序)可能会影响使用的VirtualPathProvider?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-03 17:44:04

对于组合的自定义VPP + IIS6 +预编译站点,我们需要添加来自AppInitailize()的VPP;

代码语言:javascript
复制
public static class AppStart
{
    public static void AppInitialize()
    {
    // code to be executed automatically by the framework
    }
}

另请参阅:

http://sunali.com/2008/01/09/virtualpathprovider-in-precompiled-web-sites/

票数 1
EN

Stack Overflow用户

发布于 2010-09-02 08:53:25

更新:您想要处理无扩展名的URL这一事实是问题中没有提到的重要一点。请参阅此页面以获取使用IIS6:http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx设置MVC时的帮助。这也应该涵盖您的场景。

很可能与我在本文中回答的问题相同:http://forums.asp.net/t/995633.aspx

基本上,在您的web.config中添加以下内容:

代码语言:javascript
复制
<httpHandlers>
  <add path="*" verb="GET,HEAD,POST" type="System.Web.StaticFileHandler" validate="true" />
</httpHandlers>

另一个线程有一些细节来解释为什么这是必要的。

票数 1
EN

Stack Overflow用户

发布于 2010-09-03 10:44:09

我认为您需要在IIS6中使用ISAPI过滤器来拦截无扩展名的URL。问题是ISAPI需要用c/c++完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3601228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档