Meine Frage istWarum bekomme ich den Gelben Bildschirm des Todes auf einem Umbraco SurfaceController auf einer Standard/OOTB Umbraco Installation?
Welche Konfigurationsschritt habe ich verpasst Mvc Oberflächen Controller arbeiten in Umbraco zu machen?
Meine Theorie ist, dass, da es ein Ordner in der Standardeinstellung ist Umbraco /umbraco/
genannt installieren, die mit dem CMS zu verbinden, dass der physikalische Pfad der Route wird interfiering /umbraco/surface/{Controller}/{Action}
somit in der ASP.NET YSOD resultierenden (und einem IIS 404 wenn ich versuche, auf dieser Strecke einen Controller zuzugreifen, die nicht definiert ist.)
Hintergrundinformationen
Ich habe diese Klasse zu meinem App_Code
Ordner in einer frisch heruntergeladene Kopie von Umbraco 6.1.6 hinzugefügt:
public class MembersController : SurfaceController
{
public ActionResult Index()
{
return Content("Hello, Member!");
}
}
Wenn ich zu navigieren, was ich denke sollte der Weg für meine Index()
Methode sein, ich YSOD bekommen, die sagt, die Ressource nicht gefunden werden kann: angezeigt wird, und der obige Fehler wird nicht ausgeführt
der Code; aber wenn ich die Uri Müll ändern erhalte ich ein IIS 404-Fehler:
Ich begann diese in einer bestehenden Website bekommen, um meine Seite zu denken war vermasselt habe ich versucht, es in einer neuen Kopie von Umbraco 6.1 .6 und bekam genau die gleichen Ergebnisse.
Für den Rekord habe ich auch versucht MembersSurfaceController
und seine zugehörige Uri, die genau das gleiche Ergebnis wie oben hat. YSOD, wenn ich die gültige Route und IIS 404 wenn nicht.
Ich habe meine umbracoSettings.config
zu MVC im Verzeichnis /config/
geändert.
Update
Ich bin mit der Out-of-the-box web.config
-Datei, die diese hat:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRewriteModule" />
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
.
..
...
Auf meinem Standard Umbraco Website I don Es sind keine Rewrite-Regeln definiert. Aber auf meiner aktuellen Seite habe ich mehrere Regeln zum Umschreiben. Ich denke, dass es nicht verursacht, da ich das gleiche Verhalten auf beiden Seiten sehe, obwohl ...
Ich habe versucht, UrlRewrite
vollständig zu entfernen Ich bekomme die gleichen Ergebnisse.
Haben Sie überprüft, ob Sie das UrlRewrite-Modul in IIS benötigen? Es könnte sich lohnen, dies zu überprüfen ... –
Ich bin mir nicht sicher, was Sie meinen, ich benutze die out-of-the-box-Datei web.config. – Nate
Ich kann dieses Problem replizieren, aber nur, indem ich meine Controller in den App_Code-Ordner (Umbraco v6.1.3) setze - wenn sie eingehalten werden, scheint es kein Problem zu geben. Es ist eine lange Geschichte, aber könnten Sie die Controller kompilieren (indem Sie eine Klassenbibliothek hinzufügen, die Controller dorthin verschieben und der Klassenbibliothek einen Verweis auf Ihre Website hinzufügen, wenn Ihr Projekt eine Website ist) und es erneut versuchen? – milquetoastable