ASP.NET MVC Маршрутизация для обслуживания файла на верхнем уровне веб-сайта? - PullRequest
1 голос
/ 10 ноября 2009

Я абсолютный новичок в ASP.NET [MVC], так что это, вероятно, глупый вопрос.

Я хочу подключить URL "http://localhost/clientaccesspolicy.xml" к определенному действию контроллера. Как я могу это сделать?

Мне также интересно, как просто статически подать файл для этого URL.

(мне удалось статически обработать файл, добавив его как файл «Содержимое» на верхнем уровне проекта).

Ответы [ 2 ]

3 голосов
/ 10 ноября 2009

Это должно сработать, поэтому все остальные ваши маршруты остаются нетронутыми ... И для этого вам не нужно действие контроллера ..

routes.RouteExistingFiles = true;

routes.IgnoreRoute("clientaccesspolicy.xml");
2 голосов
/ 10 ноября 2009

Вы можете выполнить это добавление:

routes.RouteExistingFiles = true;

выше всех других ваших маршрутов. Затем добавьте:

routes.MapRoute(null, "clientaccesspolicy.xml", new { controller = "Foo", action = "Whatever" });

Это должно сработать, но я предупрежу вас, как правило, это не очень хорошая идея. Это говорит системе маршрутизации MVC прекратить обслуживание файлов, которые совпадают на диске. Это будет включать ваши изображения, CSS, сценарии и т. Д. Это сделает для вас гораздо больше работы, чем сэкономит, я думаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...