2013-03-13 33 views
0

雖然發展與VS2010一個ASP.NET MVC4 Web應用程序,使用Mvc.JQuery.Datatables的NuGet, 我發現EmbeddedResourceVirtualPathProvider的NuGet所引用,在我的dev的盒子精美 工作,但在我的生產箱上失敗了。如何使用EmbeddedResourceVirtualPathPovider與IIS6

生產框是Windows 2003,安裝了IIS6和.NET 4.0。

我搜索了很多事情上SO,和谷歌搜索,但落實建議的解決方法, 仍然失敗後:

這就是我所做的。

  1. 實施AppInitialize通過https://stackoverflow.com/a/5178993的建議
  2. 實現通配符映射爲ASP.NET由http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx
  3. 實現IgnoreRoute靜態文件建議的https://stackoverflow.com/a/3144841

的建議,但它仍然不提供所有文件。我得到嵌入的部分視圖,但不嵌入css,js和jpg文件。

我的web.config先後爲StaticFileHandler條目如下:

<system.webServer> 
    <handlers> 
    <add path="*.css" verb="GET" name="Static css" type="System.Web.StaticFileHandler" /> 
    <add path="*.js" verb="GET" name="Static js" type="System.Web.StaticFileHandler" /> 
    <add path="*.jpg" verb="GET" name="Static jpg" type="System.Web.StaticFileHandler" /> 
    <add path="*.gif" verb="GET" name="Static gif" type="System.Web.StaticFileHandler" /> 
    </handlers> 
</system.WebServer> 

我似乎失去了一些東西的關鍵。有什麼建議麼?

回答

0

當使用IIS6,所有#1-3中列出的項目都是必需的,但此外,你需要 認識到IIS6其處理程序定義爲httpHandlerssystem.web部分, 而IIS7稱他們handlers,他們是在配置文件的system.webServer部分。

因此,您需要添加以下使它在IIS6

<system.web> 
    .... 
    <httpHandlers> 
    <add path="*.css" verb="GET" type="System.Web.StaticFileHandler" /> 
    <add path="*.js" verb="GET" type="System.Web.StaticFileHandler" /> 
    <add path="*.jpg" verb="GET" type="System.Web.StaticFileHandler" /> 
    <add path="*.gif" verb="GET" type="System.Web.StaticFileHandler" /> 
    </httpHandlers> 
</system.web> 
工作