Я хочу иметь маршрут с именем 'properties', но получаю ошибку 404 (папка Detects существует на диске) - PullRequest
2 голосов
/ 28 июля 2010

Я постараюсь быть кратким, я обнаруживаю, когда пытаюсь создать собственный маршрут с именем и URL-адресом properties, что мое приложение ASP.NET MVC возвращает файл 404, не найденный при попадании на маршрут.

Я вывел это, скорее всего, из-за того, что у меня есть папка на диске с именем Свойства , которая, конечно, является обычной папкой asp.net, которая создается автоматически.Я нашел кого-то еще, кто страдал от этой проблемы на SO , но похоже, что не было никакого разрешения, только чтобы назвать свой маршрут чем-то другим!

Конечно, это упущение, илидолжен быть обходной путь?Очевидно, что будет много общих каталогов, которые вам могут понадобиться как взаимозаменяемые маршруты и / или папки, некоторые из которых, как мы уже знаем, например Свойства , вероятно, не могут быть удалены!Я также понимаю, что мы должны учитывать реальные папки как URL-адреса, но я считаю, что маршрутизация должна иметь приоритет перед просмотром папок на диске.

Если у кого-то есть какие-либо идеи относительно того, как этого добиться, это было бы очень полезно.:)

Ответы [ 2 ]

1 голос
/ 01 августа 2010

Если вы удалите папку свойств в своем проекте asv.net mvc, она будет работать, как описано.

Следует отметить, что описываемое вами поведение не будет отображаться при работе под IIS (не то, что этона самом деле решение).

IISExpress должен помочь, когда он будет выпущен!

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

1 голос
/ 28 июля 2010

Глядя на исходный код .NET, он не выглядит так, как будто Properties специально для среды выполнения ASP.NET (HttpRuntime.cs имеет строковые константы для bin, App_Code и т. Д.).

Попробуйте переименовать физическую папку Properties во что-то вроде App_Properties и отредактируйте пространство имен файлов там, чтобы соответствовать.Вам также нужно будет отредактировать файл .csproj / .vbproj, поскольку VS скрывает команду Rename для этой «специальной» папки.

После того, как вы это сделаете, используйте некоторые встроенныеПоведение во вкладках свойств проекта, таких как создание настроек и ресурсов по умолчанию, приведет к воссозданию папки Properties, поэтому вам придется непосредственно открывать файлы .settings и .resx, чтобы редактировать их.

...