2009-08-20 6 views
0

Hallo ich bin neu in ASP.NET MVC und ich bin in einigen Problemen bei der Bereitstellung einer sehr einfachen Website! Ich habe die MVC Storefront (Kona) genommen, einige grundlegende Änderungen vorgenommen und möchte sie jetzt auf einem Webserver bereitstellen! Zum Testen habe ich IIS7 auf meinem Windows 7-Desktop aktiviert! Ich ändere die Webprojekteinstellungen, um lokales IIS zu benutzen und es zu laufen!ASP.NET MVC Deployment Issues

Das erste Problem, das ich bekomme, ist die "Anfrage ist in diesem Kontext nicht verfügbar" ... Um das zu beheben, musste ich die HttpContext.Current.GetSiteUrl() in der Datei global.asx.cs entfernen! Wenn ich jetzt die App laufe funktioniert es aber ich habe kein CSS? Wenn ich zurück zum VS-Entwicklungsserver wechsle funktioniert alles super?

Ich kann auch vom integrierten Modus auf IIS zum klassischen swithc, der die CSS funktioniert, aber dann habe ich kein Routing?

Antwort

2

Auf IIS 7 ist HttpContext.Current in Application_Start null, weil es nicht von der ersten Anforderung ausgelöst wird.

Sie können dieses Problem umgehen, indem Sie den Code von Application_Start zu Application_BeginRequest verschieben und ein Flag hinzufügen, um anzugeben, ob die Anwendung bereits initialisiert ist (Mitglied der globalen Klasse). Wenn false, führen Sie den Code aus, der HttpContext.Current verwendet, und setzen Sie das Flag auf "True", damit nachfolgende Anforderungen diesen Codeabschnitt nicht ausführen.