Использование контроллеров без всей MVC Framework - PullRequest
0 голосов
/ 03 февраля 2011

Я пытаюсь сделать несколько вещей с MVC, пока проектирую систему, и хотел попробовать и посмотреть, смогу ли я использовать концепцию контроллеров вне инфраструктуры MVC.Когда я говорю «снаружи», я имею в виду собственный сервис C #, а не веб-сайт.

Я запустил простое консольное приложение для проверки теории, и было достаточно просто изменить профиль на не-клиентапрофиль, добавьте System.Web.Mvc, создайте контроллер и верните ему JsonResult.Простота установки этого меня порадовала, так как это половина работы, если я хочу, чтобы сервис отвечал с помощью JSON.

Следующим шагом является настройка класса Http Server, и я был бы рад, если бы мог использовать другую часть платформы, которая будет отображать входящие запросы на мои контроллеры.К сожалению, это та часть, где я теряюсь, и я понятия не имею, что происходит за кодом, чтобы прийти к функции конкретного контроллера с заданными параметрами.

Кто-нибудь получил представление о том, как этого добиться?или ресурс, на который стоит посмотреть?

Короче говоря: я хотел бы использовать использование контроллеров в своей собственной службе, работающей на собственном HTTP-сервере.

Ответы [ 4 ]

1 голос
/ 03 февраля 2011

Если вам это поможет, вся ASP.Net MVC Framework имеет открытый исходный код, вы можете загрузить ее со http://aspnet.codeplex.com/. Вы можете использовать библиотеки здесь, чтобы посмотреть, как Framework работает за кулисами, и адаптировать их для своего собственного использования в зависимости от ситуации.

1 голос
/ 03 февраля 2011

Вы можете использовать шаблон проектирования без использования каркаса - я имею в виду, вы можете применять шаблон контроллера представления модели везде, где вы считаете, что это решает проблему - если вы думаете, что можете заменить «представление» на «сервис», Вы можете применить некоторые концепции ...

http://msdn.microsoft.com/en-us/library/ff649643.aspx

Однако есть и другие шаблоны, которые могут лучше подойти для сервисов, хотя, если мы говорим конкретно о сервисе JSON, то просто использование инфраструктуры ASP.NET MVC в том виде, в каком она есть, будет работать хорошо (вместо того, чтобы пытаться повторно напиши).

1 голос
/ 03 февраля 2011

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

Simon

1 голос
/ 03 февраля 2011

Не пытаетесь ли вы изобретать велосипед?

Если возвращение JSON является одной из ваших основных целей, то WCF удовлетворяет ваши потребности. Имея с собой WCF, вы можете разместить его в IIS. Это служит вашей второй цели, имея собственный HTTP-сервер.

Вы пытаетесь добиться какой-то маршрутизации, при которой на основе URL будут вызываться ваши различные действия. Разве это не похоже на наличие службы WCF с разными методами, и клиент вызывает каждый из них с разными URL?

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

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