Действительно ли папка Content священна в asp.net mvc?

Он называется catch-all queries, и в основном он выглядит следующим образом:

CREATE PROCEDURE spTest
    @Name varchar(20) = '',
    @Address varchar(100) = '',
    @City varchar(50) = '',
    @Pin varchar(50) = ''
AS
    SELECT * 
    FROM Test_Table 
    WHERE (@Name = '' OR Name = @Name)
    AND (@Address = '' OR Address = @Address)
    AND (@City = '' OR City = @City)
    AND (@Pin = '' OR Pin = @Pin);
GO

Вы также можете прочитать эту статью о catch all query

23
задан BC. 22 February 2009 в 19:58
поделиться

5 ответов

Никакого волшебства, класс System.Web.Routing.RouteCollection имеет свойство RouteExistingFiles, которое управляет поведением.

Значение по умолчанию - false, что означает, что маршрутизация ASP не должна маршрутизировать URL-адрес, а просто верните содержимое по умолчанию. В этом случае "/Content/all.min.css?v=251" полностью пропускает правила маршрутизации MVC.

если вы хотите добавить правило маршрутизации для папки содержимого, вам необходимо добавить правило и установить RouteExistingFiles значение true.

19
ответ дан 29 November 2019 в 02:31
поделиться

Нет, папка Content не священна. Используйте его, как Вам нравится.

Ре версия - который является общим приемом для помощи с управлением версиями, если Вам включили основанное на http-заголовке кэширование; иначе Вы не можете гарантировать, что все клиенты используют обновленные файлы. Вы будете видеть много "foo_v4.js" и т.д. в сети;-p

5
ответ дан Marc Gravell 29 November 2019 в 02:31
поделиться

Я использую ту же технику на некоторых моих сайтах. Я использую его, чтобы не кэшироваться - если Вы не указываете другой URL для различных сборок, клиенты, возможно, кэшировали старый.

4
ответ дан Mark S. Rasmussen 29 November 2019 в 02:31
поделиться

Только для добавления к другим комментариям об этом - способ, которым работает система маршрутизации, следующие:

запрос А входит и направлен к механизму маршрутизации, который затем просматривает таблицу маршрутизации для соответствия - в порядке, они регистрируются (который является, почему необходимо поместить уточненные маршруты перед более общими маршрутами).

, Если никакое соответствие не найдено, механизм маршрутизации передает запрос на IIS для обработки обычно - это также, как можно смешать веб-формы ASP.NET и MVC в том же приложении.

3
ответ дан Zhaph - Ben Duguid 29 November 2019 в 02:31
поделиться

Это не имеет никакого особого значения. Это - просто имя arbitratry. При использовании мастера ASP.NET MVC RC, Вы найдете, что на него ссылаются в Вашей основной странице (Site.master):

<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />

относительно all.min.css, используемого в Так, это мог быть пользовательский обработчик, который выполняется на сервере для получения сжатой таблицы стилей версией.

1
ответ дан Darin Dimitrov 29 November 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: