Ich habe Probleme mit der Bereitstellung einer ASP.net MVC 2 RC 2-Anwendung in meiner Produktionsbox. Ich habe es gut in beiden Entwicklung und Test. Der Hauptunterschied scheint zu sein, dass die Produktionsbox noch nicht auf IIS 7.5 aktualisiert wurde. Wenn ich auf die Seite gehe, bekomme ich nur eine leere Seite, wie in Ich erhalte eine leere Seite während der Bereitstellung der MVC-Anwendung auf IIS .
Ich habe die meisten Dinge ohne Erfolg ausprobiert. Ich habe versucht, sowohl die integrierte als auch die klassische Konfiguration für .net 4 zu verwenden und habe versucht, zu einem bestimmten Controller und einer bestimmten Aktion zu gehen, nur für den Fall, dass es etwas mit der Standarddatei zu tun hat. Was ich versucht habe, war seltsamerweise, dass ich das Routing so änderte, dass es .mvc-Erweiterungen verwendete, wie man es für IIS6 tun könnte. Ich möchte das vermeiden. Ich habe das Anmelden von application_error hinzugefügt, aber nichts wird jemals dort hineingeworfen. Ich habe tatsächlich eine ASP.net MVC 1-Anwendung auf dem gleichen Computer, die gut funktioniert. Ich habe auch gerade versucht, ein Standarddokument wie in meiner asp.net mvc 1 App zu setzen
%Vor%Dies funktionierte gut für das / document, aber alle Links davon geben immer noch eine leere Seite zurück.
Hat jemand eine Idee, was ich tun soll?
HTTP-Fehler und HTTP-Umleitungsdienste müssen zur Rolle "Webserver (IIS)" im Kontrollfeld "Server-Manager" hinzugefügt werden. Wenn Sie statische Inhalte wie CSS und Javascript aktivieren möchten, aktivieren Sie auch den Dienst "Statischer Inhalt".
Ich dachte nur, ich würde einen weiteren Grund hinzufügen, warum IIS / MVC eine leere Seite zurückgibt ... Angenommen, Sie haben eine App-Pool-Identität, die für die SQL-Datenbank autorisiert ist. Angenommen, Sie haben zwei verschiedene Identitäten, eine für die Produktion und eine für die Vorproduktion. Nehmen Sie nun an, dass einer Ihrer geschätzten Kollegen beschließt, die Datenbank aus der Produktion wiederherzustellen, und zwar gegenüber der aus der Vorproduktion. Jetzt haben Sie eine Kopie der Produktdatenbank in pre-prod, die für den Produktionsbenutzer, aber nicht für den Vorserienbenutzer autorisiert ist. In dieser Situation erhielt ich jetzt leere Seiten in der Vorproduktion, weil die Autorisierung für den Pre-Production-Benutzer (der vorher in der Pre-Production-Datenbank existierte) nun durch die Wiederherstellung der Datenbank ausgelöscht wurde. Da diese Benutzer-ID die App-Pool-Identität ist, hat Ihre MVC-App keine Rechte mehr für die Datenbank. Das verursachte MVC, leere Seiten zu rendern, und verursachte mir zwei Tage, meinen Schwanz zu verfolgen, weil ich dachte, dass jemand einige IIS-Einstellungen auf dem Webserver geändert hatte, aber es war eigentlich ein Problem mit Datenbankberechtigungen. Vielleicht gibt dies einen Hinweis auf jemanden mit einem ähnlichen Problem in der Zukunft.
Ich hatte auch nicht die HTTP-Umleitungsrolle installiert, aber ich hatte ein weiteres Problem, von dem ich dachte, dass ich es hier dokumentieren würde, falls jemand anderes das gleiche Problem hat.
Ich hatte den Programmordner mit 7-Zip gezippt und auf den Prod-Server übertragen. Als ich es entpackt habe, wurde die Datei web.config im Ordner Ansichten als Ordner mit der Konfigurationsdatei web.config hinzugefügt. Verschieben der Datei und Löschen des Ordners sortiert dies für mich.
Der Hinweis war in der Ereignisanzeige, also überprüfen Sie auch dort, ob die anderen Antworten nicht vollständig helfen.
Keine leere Seite mehr für mich.
Tags und Links asp.net-mvc iis-7