2016-03-07 4 views
1

Я переношу приложение из mvc4 в mvc6. Запуск под windows с хостом платформы iis. rc1-update1.Устранение неполадок непоследовательных маршрутов

До сих пор все хорошо в windows/iis, но после развертывания в linux + mono 4.22 я получаю много странных проблем с маршрутизации, включая указание, что он не находит маршруты для действия (но все остальное в этом контроллере в порядке) и иногда бросая AmbiguousActionException, где кажется, что кандидаты полностью отключены.

Я получил это в запуске

app.UseMvc(routes => 
     { 
      routes.MapRoute(
       name: "default", 
       template: "{controller=Home}/{action=Index}/{id?}"); 
     }); 

И размечено действие как такого

[HttpGet, Route("/Users/Find/{id?}") 
public ActionResult Find(int id){ 

Я нахожу частые случаи, когда Url.Action просто палок случайных идентификаторов в (даже проходя нулевые или пустые параметры для объекта словаря маршрутизации).

поэтому вопрос ...

Что я могу сделать, чтобы лучше устранить проблемы ... существуют определенные различия в Линукс и окна сред ... будь Thats окна против Linux, или dev vs prod или iis vs kestrel. Существует ли промежуточное ПО маршрутизации, помогающее устранить проблему.

Я чувствую, что здесь где-то есть ошибка, но даже не знаю, какую информацию я могу указать или использовать, чтобы сделать еще больше работы. Места, где разрывы маршрутизации прерывисты и являются частью гораздо большего решения, а не простое воспроизведение.

ответ

0

Итак, после битв странностей здесь в течение нескольких дней подряд я обновился до моно 4.3.2 по прихоти, и все чудесно начало работать, как ожидалось. Не могли бы рассказать вам, почему, но, видимо, что-то в других версиях, которые я пробовал (4.0.5 и 4.2.2-sr1 или что-то еще), возникали при анализе URL-адресов или чего-то еще?

Смежные вопросы