Технология Microsoft похожа на сервлеты Java EE? - PullRequest
5 голосов
/ 13 сентября 2009

У меня есть Java-приложение, которое работает под управлением Tomcat. Довольно простая архитектура - пользователи вызывают сервлет через HTTP, который затем помещает запрос в очередь в памяти. Поток потребителя, который был запущен как ServletListener и работает непрерывно, опрашивает очередь и обрабатывает запросы, которые включают в себя вызов некоторых хранимых процедур и отправку некоторых данных через соединения с сокетами в бэкэнд-системы.

Мне может понадобиться перенести код на C #. То, что я пытаюсь выяснить, - это то, что является эквивалентной технологией на земле Microsoft, которая позволит мне спроектировать ту же систему. Перенос кода с Java на C # будет тривиальным, но я не могу найти технологию сервера приложений от MS, которая позволит мне добавить свой код, а затем декларативно указать, что я хочу новый «сервлет» для каждого HTTP-вызова, и что мне нужно запустить поток «демон» в том же процессе, и т. д ...

Любой совет? Я не очень знаком с ландшафтом MS ...

Ответы [ 5 ]

2 голосов
/ 22 ноября 2009

Миграция с Java EE на .NET с помощью vivek devarajan Читать http://www.stardeveloper.com/articles/display.html?article=2003032802&page=1

У него есть раздел о миграции сервлетов на C #, который вам может понравиться.

2 голосов
/ 13 сентября 2009

См. что такое корреспондент сервлета и апплета в сети . Принятый ответ гласит:

В .Net обработчики HTTP (.ashx), вероятно, ближе всего подходят к сервлету.

1 голос
/ 13 сентября 2009

Если вы не знакомы со средой Microsoft, то не ждите, что вы научитесь чему-то быстро, поскольку запуск веб-сайта / службы намного сложнее, чем думает большинство людей. То есть, если вы хотите запустить безопасную среду.

Прежде всего, мне интересно, почему вы переходите на C # и IIS. Apache отлично работает и в Windows, и меня не удивит, если вы сможете запустить все так же в системе Windows.

Но если вы хотите перейти к разработке на C # и Windows, начните с чтения некоторых технических книг! У О'Рейли есть несколько превосходных книг о C # и .NET, включая такие заголовки, как «Learning WCF», «Programming Entity Framework» и «Programming ASP.NET 3.5», которые должны предоставить достаточно информации для перехода на .NET.

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

Хотя я не парень по Java. Поэтому я не знаю, что вы хотите сделать здесь ...


Глядя на ваш комментарий и пожелания, кажется, что вы создаете систему messagequeue , где запросы отправлено в очередь на сервере в ожидании разрешения. Для этого в Windows есть несколько хороших встроенных функций, хотя это может быть не совсем то, что вам нужно. Тем не менее, принцип будет прост: веб-интерфейс будет добавлять запросы в очередь, а служба Windows (а не веб-служба) будет запрашивать очередь сообщений о новых запросах для их обработки. Это делает перенос вашего кода с Java на C # намного менее тривиальным, хотя!

Что касается эквивалента сервлетов в ASP.NET, я думаю, что гимел частично прав. Обработчик HTTP позволит вам генерировать любые ответы, включая не HTML-страницы. Я использовал их в прошлом, чтобы вернуть пользователю данные в формате XML или Excel. Я также использовал их для создания динамических изображений с дополнительным водяным знаком. Но служба данных (.svc) также может быть хорошей альтернативой. (Я использую один как RESTful-сервис для модели Entity.) Или обычный веб-сервис (.asmx) может быть настолько практичным.

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

1 голос
/ 13 сентября 2009

Бьюсь об заклад, это System.Net.HttpListener:

http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx

Но я еще не парень .NET.

0 голосов
/ 22 ноября 2009

Поставщик, который создаст стандартизированный транзакционный сервер на основе контейнеров .NET со всеми концепциями Java EE, такими как сервлеты, MDB и коннекторы ресурсов, работающий с менее чем 1 миллионом файлов конфигурации.

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