Ist der Ordner Inhalt in asp.net mvc heilig?
Ist der Content Ordner speziellen auf das zugrunde liegende framework, MVC? Ich kann nicht finden jede Bezugnahme auf Sie im routing-code oder Konfiguration.
Ich Frage mich nur, ob statische Inhalte behandelt werden können, in unterschiedlicher Weise.
Auf einem verwandten beachten, stackoverflow script-und css-Inhalt zu sein scheint, abgerufen von der version-Nummer in den querystring:
<link href="/Content/all.min.css?v=2516" rel="stylesheet" type="text/css" />
Pflege, zu spekulieren, wie dieses funktionieren könnte und warum wäre dies wichtig?
InformationsquelleAutor der Frage BC. | 2009-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Keine Magie, das System.Web.Routing.RouteCollection Klasse hat eine Eigenschaft RouteExistingFiles, die steuert das Verhalten.
Der Standardwert ist false, was bedeutet, dass ASP-Routing-route sollte nicht die URL, sondern einfach nur wieder die Standard-Inhalte. In diesem Fall ist das "/Content/alle.min.css?v=251" überspringt das MVC routing-Regeln völlig.
wenn Sie möchten, fügen Sie eine routing-Regel für den content-Ordner, die Sie benötigen, um die Regel hinzuzufügen, und legen Sie RouteExistingFiles zu wahren.
InformationsquelleAutor der Antwort Matt Woodard
Nein, der Inhalt der Ordner ist nicht heilig. Verwenden Sie es, wie Sie möchten.
Wieder die version - das ist ein üblicher trick, um mit Hilfe der Versionsverwaltung, wenn Sie http-header-basierte caching aktiviert; andernfalls können Sie nicht garantieren, dass alle clients die aktualisierten Dateien. Sie werden sehen, eine Menge von "foo_v4.js" etc auf dem web ;-p
InformationsquelleAutor der Antwort Marc Gravell
Verwende ich die gleiche Technik auf einigen meiner Seiten. Ich es verwenden, um zu vermeiden, caching -, wenn Sie nicht geben Sie eine andere URL für die verschiedenen builds, clients zwischengespeichert haben können die alten.
InformationsquelleAutor der Antwort Mark S. Rasmussen
Nur um die anderen Kommentare zu dieser - der Weg ist das routing-system arbeitet, ist wie folgt:
Anfrage kommt, und richtet sich an die routing-engine, die sieht dann durch die route-Tabelle nach einer übereinstimmung - in der Reihenfolge in der Sie registriert sind (das ist, warum Sie sollten setzen mehr spezifischen Routen vor allgemeineren Routen).
Wenn keine übereinstimmung gefunden wird, wird die routing-engine übergibt die Anfrage an den IIS zu behandeln, die in der Regel - dies ist auch, wie Sie intermix ASP.NET webforms und MVC in der gleichen Anwendung.
InformationsquelleAutor der Antwort Zhaph - Ben Duguid
Es hat keine Besondere Bedeutung. Es ist nur ein arbitratry Namen. Wenn Sie den Assistenten von ASP.NET MVC-RC werden Sie feststellen, dass darauf verwiesen wird in Ihrem master-Seite (Seite.master):
Als alle.min.css verwendet, SO könnte es eine benutzerdefinierte Prozedur, die ausgeführt wird auf dem server zum abrufen von ein komprimiertes Stylesheet version.
InformationsquelleAutor der Antwort Darin Dimitrov