2016-04-12 36 views
0

:500,22 çocuk sanal dizin ASP.NET MVC uygulaması ile kök ASP.NET uygulamaya dosyaları Birlikte aşağıdaki mimarisini koymak için çalışıyorum

  • /(root): ASP.NET WebForms 4.6 uygulaması .
  • /SPA (sanal dizin): ASP.NET MVC 4.6 uygulaması.

    <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> 
    

    Ayrıldılar web projeleri (UI.App ve UI.SingleApp) üzerinde şunlardır:

Açıkça ifade etmek gerekirse, burada IIS Express yapılandırmasıdır. Aynı kimlik doğrulamasını paylaşmalarını istiyorum. Bu işi zaten ortak makine anahtarları ve aynı kimlik doğrulama/form yapılandırmasıyla yapmayı başardım.

Son sorunum, root uygulaması altındaki statik dosyalar /CSS/site.css veya /JS/jquery.js gibi sunulmuyor. Hepsinde 500.22 hatası alıyorum.

Bu hata, klasik modda olması gerektiği anlamına gelir, ancak WebForms uygulaması, tümleşik modda (ve root çalışmasında default.aspx veya login.aspx) şimdiye kadar iyi çalıştı.

Ayrıca, system.web dosyasında tanımlanan bazı modüllerin system.webServer'da bulunmadığı anlamına da gelebilir. Ama onlar.

ben hem web.config dosyalarında bu var: alt MVC uygulama çalışma cezayı

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

Statik dosyalar, /SPA/Content/sites.css gibi.

WebForms uygulaması, sanal dizini MVC uygulamasıyla eklemeden önce iyi çalıştı. Değiştirmem gereken başka bir şey, MVC web.config'in düzgün çalışabilmesi için root uygulamasının tüm web.config düğümlerinde konum @ yol =. @ InheritInChildApplications = false eklenmesiydi.

Orada küçük bir şey kapalı olmalı ama ... üzerinde gönderme

cevap

0

Güç parmağımı koyamazsınız.

Kök web.config'ta konum etiketlerimin bununla bir ilgisi olduğunu düşünmeye başladım.

Yanıtı here buldum.

Tembellikler için validateIntegratedModeConfiguration öğesinin konum etiketinin dışında olması gerekir. İki system.webServer bölümüne sahip olabilirsiniz, önemli değil (ancak iki doğrulama etiketi değil).

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
</system.webServer> 
<location path="." inheritInChildApplications="false"> 
    <system.webServer>...</system.webServer> 
</location>