.NET Remoting против веб-служб и Windows Communication Foundation (WCF) - PullRequest
12 голосов
/ 03 февраля 2009

Кто-нибудь готов помочь мне с плюсами / минусами в .NET Remoting, веб-сервисах и WCF? Я немного поработал с .NET Remoting и веб-службами, и я создаю новое веб-приложение ASP.NET 3.5, в котором я буду использовать базу данных SQL 2008. Прежде всего, мне интересно, стоит ли действительно изучать WCF для этого приложения.

В данном конкретном случае вот несколько важных моментов:

  • Наиболее постоянными данными будут ошибки и отслеживание использования.
  • Даже если я пойду с .NET Remoting, трафик не будет требовать физического удаленного сервера, но я бы хотел мечтать, что однажды он будет!
  • В настоящее время я не предполагаю необходимости извлекать эти данные из других веб-приложений.

Однако я все еще хотел бы знать:

  • Когда / почему вы будете использовать .NET Remoting в веб-приложении?
  • Когда / почему вы будете использовать веб-службы в веб-приложении?
  • Когда / почему вы бы использовали WCF в веб-приложении?
  • Стоит ли рассматривать такую ​​технологию, как LINQ to SQL?
  • Есть ли другие лучшие варианты?

Ответы [ 3 ]

7 голосов
/ 03 февраля 2009

Я фактически переключил наше программное обеспечение с традиционного .NET Remoting на WCF. Раздражение в общении, которое произошло из Remoting, было удивительным (просто посмотрите на след проволочной акулы). Прежде чем перейти к WCF, я подумал об использовании только традиционного веб-сервиса .NET, но интерфейсы, которые мы использовали для наших удаленных вызовов, потребовали бы значительных изменений (мы использовали некоторые параметры out и ref, которые не может сделать веб-служба Asp.Net, если я не ошибочно).

Действительно, я не могу придумать причину, чтобы пойти с веб-службой Asp.Net, но я не парень Asp.Net. Для меня это не дает никаких преимуществ по сравнению с WCF. Может быть проще использовать веб-сервис, но гибкость, предложенная WCF, была тем, что мне было нужно. Особенно в области форматирования сообщений.

Мне нравится мой сервис WCF, потому что с одним сервисом я могу обслуживать JSON или SOAP / XML, и поддерживаются все протоколы (ipc, tcp и http).

Облом с WCF заключается в том, что его строгие привязки требуют от вас определения конечной точки для HTTP и HTTPS, если вы хотите использовать ее в веб-сценарии. В отличие от традиционного веб-сервиса, который «просто работает» независимо от того, безопасен он или нет.

2 голосов
/ 03 февраля 2009

Хороший вопрос! Как и вы, я раньше не смотрел на WCF и не удивляюсь, делает ли он веб-службы более или менее устаревшими?

С вашей точки зрения о Linq2SQL - учитывая, что это новое шикарное приложение, и вы, вероятно, будете поддерживать кодовую базу в течение добрых нескольких лет - лично (и рискует быть опущенным за это - но помните, что действительная точка зрения!) Я был бы склонен взглянуть на Entity Framework.

Я знаю о его неисправностях, самое большое для меня, это то, что он слишком тесно связан с DAL - поэтому он не может быть легко протестирован модулем (поверьте мне, это БОЛЬШАЯ проблема для меня, хотя у меня есть внутренности ощущение, что есть обходной путь для достижения этой цели).

Однако, по моему личному мнению, MS просто не допустит, чтобы эта технология упала на обочину, и мне пришлось бы принять во внимание слухи, что она ЗАМЕНИТ L2S. Обратной стороной этого является то, что L2S - гораздо более зрелая технология и более безопасная ставка.

Возможно, я наивен, но я считаю, Симмонс, когда он говорит, что они работают на доставку EF (в конечном счете), как совершенно стойкая-невежественная архитектура - http://blogs.msdn.com/dsimmons/pages/ef-faq-entity-classes.aspx#_Does_Entity_Framework

0 голосов
/ 18 февраля 2009

Я бы лучше посмотрел на EF, чем на L2SQL.

Идея возможности подключения только к MSSQL была причиной, по которой я никогда не принимал L2SQL, с этого момента было ясно, что MS когда-нибудь от него откажется.

...