У меня есть компонент на основе флэша, который настаивает на просить файл настройки XML в любом «директории» Я в настоящее время.MVC3 маршрут по запрошенному файлу
Это означает, что он просит пути, как ...
/Home/mysettings.xml
/Home/Record/mysettings.xml
/AnotherController/AnotherAction/mysettings.xml
Это раздражает. Я пытаюсь создать маршрут MVC, чтобы поймать что-либо с mysettings.xml
и отправить их статическому действию. Я создал представление для XML, и возможно, мне нужно будет менять переменные «на лету» (возможно, с помощью URL-запросов).
Вот первый удар в моей Global.asax.cs
:
routes.MapRoute(
"XmlOverride",
"mysettings.xml",
new { controller = "Home", action = "MyXML" }
);
Но я что-то не хватает. Это либо 404ing, либо не подходит в нужное место независимо от того, что я делаю с ним. Есть ли способ, которым я могу заставить его перейти к правильному действию? Могу ли я сохранить URL-адреса в этом процессе?
Спасибо!
Update
У меня есть изрубил версия работает как это. Я не уверен, что это лучший способ, но он работает. У кого-нибудь есть лучшие решения?
routes.MapRoute(
"XmlOverride",
"{c}/mysettings.xml",
new { controller = "Home", action = "MyXML" }
);
routes.MapRoute(
"XmlOverride+Action",
"{c}/{a}/mysettings.xml",
new { controller = "Home", action = "MyXML" }
);
Вы не можете использовать {controller}
или {action}
, потому что это по фиксированному пути.
Если сайт перемещается в подкаталог, это правило относительное? – jocull
Я не тестировал это, вы можете использовать 'url =" ~/home/myxml "' – Jay