Должен ли я добавить WCF на свой сайт ASP.NET MVC для подачи данных в мобильные приложения? - PullRequest
0 голосов
/ 18 февраля 2011

[Я никогда не использовал WCF раньше. Я гуглил пару дней и не нашел никакой информации, которая позволила бы принять решение о том, использовать ее или нет, для меня очевидно.]

Я занимаюсь разработкой веб-сайта с использованием ASP.NET MVC, LINQ to SQL и SQL Server.

Теперь я хочу разработать несколько мобильных приложений, которые будут получать данные из базы данных сайта.

Мне предложили использовать WCF для этого.

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

Поскольку мои мобильные приложения, вероятно, будут просто отправлять / получать данные в формате JSON, какие преимущества я получу от использования WCF вместо просто RESTful-возвращающих JSON URI-ов в MVC?

И если я реализую WCF, должен ли мой MVC-сайт использовать эти службы для данных вместо использования LINQ в моих контроллерах?

Ответы [ 2 ]

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

У меня есть приложение ASP.NET MVC, работающее с WCF. Первоначально я разработал его без WCF, когда контроллеры взаимодействуют с сервисным уровнем, который попадает в мои репозитории. Во время разработки возникло требование, которое требовало от меня физического отделения пользовательского интерфейса от уровня обслуживания.

Добавление WCF было болью в тылу. Вещи, которые работали без WCF, больше не работали впоследствии. Например, состояние моих объектов было потеряно при передаче на уровень обслуживания и обратно, что очень затруднило использование определенных функций моего ORM (NHibernate). Я больше не мог извлекать сущность, сопоставлять модель представления с сущностью в моем контроллере и позволять NHibernate определять, нужно ли обновление.

Тем не менее, проблемы, связанные с WCF, в основном возникали в начале. Мне не нужно пересматривать конфигурацию очень часто, и я привык работать с отсоединенными сущностями. У меня также есть преимущество физического разделения, и WCF чрезвычайно гибок.

Буду ли я использовать WCF, если мне нужны веб-сервисы, но не разделение? Я действительно не знаю. Вероятно, я бы попытался заставить методы действий JSON работать, потому что они намного проще (не говоря уже о том, что это было веселее). Сохранять это простым - все еще замечательный принцип.

Что касается услуг по поиску на вашем сайте MVC? Я думаю, можно с уверенностью сказать, что ваши методы действий должны быть очень тонкими, и в вашем проекте MVC должно быть очень мало бизнес-логики или постоянных проблем. Разделение проблем значительно упрощает адаптацию и изменение вашего приложения.

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

Я не вижу необходимости в WCF. Я бы рассмотрел область API или контроллер, если API небольшой, и доставил данные через JSON из действия контроллера. Я бы реорганизовал приложение так, чтобы API и ваши контроллеры использовали одни и те же репозитории. Если вам нужно получить данные через AJAX из ваших представлений, вы можете использовать API, но я не вижу смысла в ваших контроллерах, если они могут использовать преимущества репозиториев.

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