Ich möchte statische HTML-Dateien anfordern können, die in die ~/Ansichten Ordner befinden.
Nun, Sie können. Die markierte Antwort ist nicht ganz korrekt, obwohl sie eine Lösung bietet.
Die Argumentation in der markierten Antwort ist korrekt, es ist web.config (BlockViewHandler-Einstellung, um spezifisch zu sein) im Views-Ordner, die den direkten Zugriff auf die Dateien verhindert. Es dient zur Sicherung der Ansichten in Asp.Net MVC. Wenn Sie jedoch eine Frage stellen, ob Sie diese Dateien direkt bereitstellen möchten, haben Sie wahrscheinlich einen guten Grund dafür, z. B. AngularJS-Teilansichten (wie in unserem Fall) zu verwenden, in denen wir den Ansichtsordner nicht mit seltsamen Namen duplizieren sollen.
Also hier ist eine sehr einfache Optimierung, die Sie in der Datei web.config im Ordner Ansichten finden können, ohne die Sicherheit Ihrer asp.net mvc Ansichten zu gefährden. Dadurch werden die .cshtml Dateien wie gewohnt sichern, aber Ihre .html-Dateien alone.A
Ändern Sie diese
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
--to--
<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
Oder, anstatt Ihren Ordner 'statisch' zu benennen, könnten Sie die Controller-Namenstruktur nachahmen, die sich im Views-Ordner befindet. Die URL hat also das gleiche 'Aussehen'. Z.B. da du deine plainjane * Edit.html * in Views/Order/Edit.html nicht einfügen kannst - du legst sie in ~/Order/Edit.html – bkwdesign
Das hat sich jetzt mit dem neuesten ASP.NET (vNext) geändert, wo du kannst statischen Provider für HTML-Dateien registrieren, aber auch den normalen MVC-Weg weiterleiten. Ich hatte nur ein schnelles Spiel, aber das habe ich mit einem Testprojekt gemacht. Durch Turmfalke unter Linux laufen .. aber IIS sollte das gleiche sein, nehme ich an. – ppumkin
@bkwdesign Ich bin sicher, dass seine Konfiguration durch Nachahmung der Ordnerstruktur mein Controller-Standard-Handler durcheinander gebracht und unerreichbar gemacht hat. Testen Sie diese Situation also. –