2016-04-12 21 views
0

Ich versuche, die folgende Architektur zusammen zu stellen:500,22 für Unterverzeichnisse Dateien auf root ASP.NET-Anwendung mit Kind ASP.NET virtuelles Verzeichnis MVC-Anwendung

  • /(root): ASP.NET WebForms 4.6 Anwendung .
  • /SPA (virtuelles Verzeichnis): ASP.NET MVC 4.6-Anwendung.

Um die Dinge klar zu machen, hier ist die IIS Express-Konfiguration:

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

Sie sind auf getrennten Webprojekte (UI.App und UI.SingleApp). Ich möchte, dass sie dieselbe Authentifizierung verwenden. Ich habe es geschafft, diese Arbeit bereits mit gemeinsamen Maschinenschlüsseln und derselben Authentifizierung/Formularkonfiguration zu erledigen.

Mein letztes Problem ist, statische Dateien unter der Root-Anwendung werden nicht geliefert, wie /CSS/site.css oder /JS/jquery.js. Ich bekomme 500.22 Fehler für alle von ihnen.

Dieser Fehler soll bedeuten, dass ich im klassischen Modus sein sollte, aber WebForms App funktionierte bisher im integrierten Modus (und default.aspx oder login.aspx im root Arbeit).

Es kann auch bedeuten, dass einige in system.web definierte Module nicht in system.webServer enthalten sind. Aber sie sind.

Ich habe dies in beiden web.config-Dateien:

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

Statische Dateien für Unter MVC-Anwendung funktionieren, wie /SPA/Content/sites.css.

Die WebForms-Anwendung funktionierte einwandfrei, bevor ich das virtuelle Verzeichnis mit der MVC-Anwendung hinzufügte. Nur andere Dinge, die ich ändern musste, war das Hinzufügen von location @ path =. @ InheritInChildApplications = false für alle web.config-Knoten der Root-Anwendung, damit die MVC web.config korrekt funktioniert.

Es muss ein kleines Ding weg, aber ich kann meinen Finger auf sie nicht setzen ...

Antwort

0

Power of Posting.

Ich begann zu denken, meine Standort-Tags in der root web.config hatte etwas damit zu tun.

Ich fand die Antwort here.

Für die Lazies muss sich validateIntegratedModeConfiguration außerhalb des Location-Tags befinden. Sie können zwei system.webServer-Abschnitt haben, spielt keine Rolle (aber nicht zwei Validierungstags).

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