2016-04-12 61 views
0

我試圖整理出以下結構:500.22的子目錄中的文件與子虛擬目錄的ASP.NET MVC應用程序根ASP.NET應用程序

  • /(根):ASP.NET的WebForms 4.6應用程序。
  • /SPA(虛擬目錄):ASP.NET MVC 4.6應用程序。

爲了把事情說清楚,這裏是IIS Express配置:

<site name="Redacted.Axis.Web.UI.SingleApp-Site" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\Projects\Axis\Dev\PocInternational\Web\Redacted.Axis.Web.UI.App" /> 
    </application> 
    <application path="/SPA" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\Projects\Axis\Dev\PocInternational\Web\Redacted.Axis.Web.UI.SingleApp" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:4010:localhost" /> 
    </bindings> 
</site> 

他們是分開的Web項目(UI.App和UI.SingleApp)。我希望他們分享相同的身份驗證。我設法用普通的機器密鑰和相同的認證/表單配置來完成這項工作。

我最後一個問題是,根應用程序下的靜態文件沒有被提供,如/CSS/site.css或/JS/jquery.js。他們都得到了500.22的錯誤。

這個錯誤的意思是我應該在經典模式下,但WebForms應用程序在集成模式下工作得很好(在root工作時使用default.aspx或login.aspx)。

這也意味着system.web中定義的某些模塊不在system.webServer中。但他們是。

我這兩個web.config文件中:

system.webServer/[email protected]=false 
systel.webServer/[email protected]=true 

爲子MVC應用程序做工精細靜態文件,如/SPA/Content/sites.css。

在我將MVC應用程序添加到虛擬目錄之前,WebForms應用程序正常工作。我必須改變的其他事情是在根應用程序的所有web.config節點上添加location @ path =。@ inheritInChildApplications = false,以便MVC web.config正常工作。

必須有一個小東西關閉,但我不能把我的手指上......發帖的

回答

0

電源。

我開始認爲我的根web.config中的位置標籤與它有關。我找到了答案here

對於lazies,validateIntegratedModeConfiguration必須位於位置標記之外。你可以有兩個system.webServer部分,這並不重要(但不是兩個驗證標籤)。

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
</system.webServer> 
<location path="." inheritInChildApplications="false"> 
    <system.webServer>...</system.webServer> 
</location> 
相關問題