我試圖整理出以下結構: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正常工作。
必須有一個小東西關閉,但我不能把我的手指上......發帖的