доступ к wcf из mvc view через js - PullRequest
0 голосов
/ 29 февраля 2012

Я пытаюсь выучить wcf на практическом примере.Я следовал учебнику по масштабируемому wcf-решению , и мой сервис работает нормально, клиент из моего консольного приложения.работает нормальноНо то, чего я хочу достичь, - это использовать мой сервис через страницу mvc view (razor).В моем клиентском консольном приложении я обращаюсь к прокси с помощью

IService proxy = new ChannelFactory<IService>(Configuration.MyServiceActiveEndpoint).CreateChannel();
List<MyObjectDto> data = proxy.GetMyData();

... как практично добиться этого создания прокси-клиента со страницы просмотра mvc (без добавления ссылки на сервис).Спасибо

Ответы [ 3 ]

1 голос
/ 01 марта 2012

Ты этого не делаешь .. на самом деле ты этого не делаешь.Это полностью разрушает всю точку Model-View-Controller (MVC).Контроллер должен быть тем, кто обращается к службе WCF и возвращает данные в представление.

0 голосов
/ 01 марта 2012

Используемое вами руководство уже регистрирует конечную точку с поведением enableWebScript - вы должны автоматически получить сгенерированный js-прокси при обращении к http://server/virtualdirectory/X.svc/json url. Включите этот файл JS в вашем представлении MVC.

Если вы размещаете службу wcf в веб-приложении MVC, вы можете использовать Url.Content:

    <script src="@Url.Content("~/X.svc/json")" type="text/javascript"></script>

Тогда просто вызовите сервис из js - используйте в качестве примера javascript из этого поста: http://dotnetslackers.com/articles/ajax/JSON-EnabledWCFServicesInASPNET35.aspx

0 голосов
/ 29 февраля 2012

Проверьте servicestack.net для самой чистой и лучшей реализации веб-сервиса в .net. Нет конфигурации, легко вызывается из jQuery и возвращает json по умолчанию. Легко начать с пакета NuGet Mvc 3.

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