Зачем использовать веб-сервис с Linq to SQL? - PullRequest
4 голосов
/ 30 октября 2008

Может кто-нибудь сказать мне, что нужно / преимущество в использовании веб-службы с графическим интерфейсом asp.net и использовании Linq to SQL? Слой веб-сервиса кажется ненужным. Linq to SQL совершенно новый для меня, и я изучаю, как я настраиваю новый проект. У кого-нибудь есть опыт с этим?

Ответы [ 5 ]

6 голосов
/ 30 октября 2008

Вы бы предоставили сервисы для тех случаев, когда другим приложениям может понадобиться доступ к вашим данным (например, смарт-клиент, другое приложение, приложение winforms и т. Д.). Многие люди будут разрабатывать с использованием веб-сервисов, чтобы в будущем им не приходилось реструктурировать веб-сервисы.

Практически в любом профессиональном / корпоративном веб-приложении вы хотите отделить уровень пользовательского интерфейса от уровня доступа к данным, чтобы не вставлять вызовы Linq to SQL на уровне пользовательского интерфейса. Вместо этого у вас будет промежуточный уровень обслуживания, будь то веб-службы, WCF или просто DLL с бизнес-логикой, которая управляет вашим уровнем доступа к данным. Независимые уровни проще поддерживать, обновлять, реорганизовывать и изучать, поэтому первоначальные вложения в их создание стоят усилий.

3 голосов
/ 30 октября 2008

Это, конечно, не обязательно, но может быть удобно, если вы хотите сохранить слой доступа к данным на отдельном сервере от сервера презентаций (ASP.NET). Веб-служба позволяет ограничить связь между двумя серверами только портом 80.

Обратите внимание, что это может относиться и к старому обычному ADO.NET или к чему-либо еще.

2 голосов
/ 31 октября 2008

Полностью согласен с Овидиу Пакураром. Веб-сервисы НЕ являются хорошим выбором для моделирования проблемных слоев. Вы должны сделать это, используя старый добрый ОО дизайн. Нет никаких причин для того, чтобы веб-приложение вызывало веб-сервисы внутри себя для доступа к данным, если только они не предназначены для вызовов ajax клиента или если вам необходимо запустить уровень бизнес / данных на другом сервере из соображений безопасности.

2 голосов
/ 30 октября 2008

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

0 голосов
/ 30 октября 2008

Договорились с предыдущим постером. Возможно, вы захотите сделать это, чтобы применить идею «Разделение интересов» ...

...