Используете ASP.NET MVC 2 JsonResult как веб-сервис в приложении C # веб-форм? - PullRequest
0 голосов
/ 05 июня 2010

Друг хочет использовать мое приложение ASP.NET MVC 2 аналогично добавлению к нему веб-ссылки, доступу к моим функциям и использованию объектов моей модели из веб-формы .Net с отдельного веб-сайта.

Есть ли какие-нибудь ссылки, которые могли бы объяснить, как "одеть" мои ответы MVC так, чтобы его потребление от сервера к серверу было похоже на веб-службу?

Я предложил использовать System.Net.WebClient для извлечения результатов в переменную и десериализации результата JSON, но, может быть, есть лучший подход?

Ответы [ 2 ]

1 голос
/ 05 июня 2010

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

В редких случаях вы обнаружите, что данные, которые вы предоставляете через API, соответствуют друг другу с тем, что должны отображаться ваши представления. За кулисами вы могли бы абстрагировать генерацию данных, чтобы ваш API и контроллеры приложений повторно использовали один и тот же код для получения данных, но интерфейс API понял бы, как согласовывать безопасность (с точки зрения API) и представлять данные это легко потребляется программой. Более того, вы не обнаружите, что вы создаете дополнительные контроллеры и методы в своем приложении просто для предоставления некоторых данных, которые никогда не будут использоваться в конкретном представлении.

Вы можете использовать MVC или WCF для API и JSON или XML в качестве формата полезной нагрузки. Если вы используете WCF, вы получаете преимущество, заключающееся в том, что он действительно может просто добавить ссылку на службу, чтобы подключиться к ней без необходимости создавать файл / действие WSDL.

0 голосов
/ 31 октября 2010

По чужому совету Фил Хаак добавил это в MVC 2 Futures. Добавьте ссылку на DLL в Application Start и бинго. Он использует валидатор.

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