ASP.NET MVC как сервисный хост для SOA-подобной архитектуры - PullRequest
1 голос
/ 19 марта 2010

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

Я знаю, что управлять и развертывать службы Windows - это не весело. Я подумываю об использовании ASP.NET MVC в качестве узла службы для моих служб, где каждое действие контроллера становится по существу услугой, и я могу общаться со службой с помощью простого HTTP-запроса и ответов и не сталкиваться со сложностями, если я использую что-то вроде WCF .

Сервисы должны быть изолированы, а запросы asp.net изолированы, насколько я знаю, то есть, если запрос выдает исключение, это не повлияет на другие выполняющиеся запросы.

Но у меня все еще есть вопросы по поводу управления услугами. Как можно будет увидеть, какие службы работают, останавливаются и возобновляются. Также ASP.NET MVC пассивны, то есть они делают что-то только по запросу, но что если я захочу, чтобы сервис, который инициировал работу сам по себе?

Ответы [ 2 ]

1 голос
/ 20 марта 2010

Мы используем ASP.Net MVC для создания Сервисов, которые возвращают результат JSON. Мы размещаем эти службы в IIS.

MS создает серверный продукт, предназначенный для размещения сервисов WCF, который вы можете использовать для своих сервисов, см .: http://samgentile.com/Web/dublin/windows-server-appfabric-formerly-dublin-beta-2-is-available/

0 голосов
/ 20 марта 2010

Много вопросов, все в одном. :)

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

Тем не менее, очень быстро и легко создать сервисный уровень с ASP.Net/IIS без использования MVC (или Webforms в этом отношении). Фактически, многие / все функциональные возможности, необходимые для окаймления сервисного уровня в ASP.Net, могут быть легко созданы из Visual Studio.

Запросы веб-сервиса выполняются как отдельные потоки IIRC, поэтому они будут изолированы.

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

Услуги действительно будут пассивными. Вы можете посмотреть на что-то вроде Quartz.Net для планирования задач, но я не уверен, насколько надежным было бы поддерживать его работу в процессе IIS. Правильным инструментом для такого рода задач, скорее всего, будет Windows Service или консольное приложение.

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