Сохранение информации о параметре в пути запроса для всех страниц вместо поддоменов - PullRequest
1 голос
/ 15 марта 2012

Я ищу руководство ... (я не уверен, что это лучший заголовок)

В данный момент я добавляю "имя сервера" к URL-адресу, как это:

server10.example.com

Это прекрасно работает, за исключением того, что мне нужно обработать все поддомены в IIS, и я не уверен, что Google рад переходить с суб на суб к суб, когда кажется, что ссылки на другие серверы.

Я надеюсь на хороший способ заархивировать этот wioth asp.net mvc.

Большинство страниц связано с "сервером" ... однако есть несколько информационных страниц, contact, home, которому действительно не нужно действительное имя "сервера" ... но оно может быть просто "na" для недоступности, но имя необходимо сохранить, если уже выбран сервер, когда пользователь продолжает просматриватьсайт.Это должно быть как можно более прозрачным, когда мне нужно создать ссылки на разные страницы.

Я мог бы расширить Html Action () extensien, чтобы автоматически добавлять выбранный «сервер» из предварительного запроса на страницу.

В формате:

/{serverParameter}/{controller}/{action}/{parameterInfo}

И если сервер не выбран, просто добавьте "na" в качестве заполнителя {server}.

Я не уверенесли нужна дополнительная информация, но, пожалуйста, дайте мне знать, если ...

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

Обновлено

90% всех страниц о сервере, который пользователь выбирает в какой-то момент.Может быть сервер 10, сервер 9, сервер 20 ... просто имя.Я хочу сохранить эту информацию на всех страницах, после того, как пользователи ее выбрали, или я просто хочу, чтобы она была f.ex: "empty".

Я в основном ищу простой способ сделать это илиальтернатива ... atm Я добавляю serverParamter к URL, чтобы он в конечном итоге был: "serverParameter.example.com".

Я хочу получить что-то вроде

http://example.com/{server}/{controller}/{action}

instread of

http://{server}.example.com/{controller}/{action}

Ответы [ 2 ]

0 голосов
/ 18 ноября 2012

Я пошел с уже усовершенствованной маршрутизацией в ASP.NET MVC.

{server}/{controller}/{action}

При создании ссылок он принимает заданное значение для {server} и помещает значение при генерации URL, поэтому мне нужно только указать контроллер и действие в вспомогательном методе @ Html.Action ... это не могло быть больше легко.

Я не уверен, почему я не подумал об этом. Нужно просто любить маршрутизацию.

0 голосов
/ 15 марта 2012

Если я правильно понимаю ваш вопрос, вы просто хотите сгруппировать разные коллекции контента выше уровня контроллера / действия. Если это так, рассматривали ли вы вопрос об использовании областей ASP.NET MVC?

Просто щелкните правой кнопкой мыши свой проект и выберите «Добавить» -> «Область». Дайте ему имя (то, что вы называете «сервером»), и затем вы можете добавить контент, свои собственные контроллеры, действия и т. Д. Под этой областью. Вы автоматически сможете получить к нему доступ через /AreaName/Controller/Action/etc.

...