2012-02-29 1 views
0

Я пытаюсь изучить wcf на практическом примере. Я следил за scalable wcf solution tutorial, и моя служба работает нормально, клиент из моего консольного приложения. работает нормально. Но то, что я хочу достичь, потребляет мой сервис через js с страницы просмотра mvc (бритва). На моем клиенте консольного приложения я доступ к прокси сДоступ к wcf из mvc view trough js

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

... как practicaly achive этого создание прокси-клиент с MVC просмотра страницы (без добавления ссылки на службу). Спасибо

ответ

0

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

+0

уверен, спасибо, но сейчас я хочу решить эту проблему. Так кто-нибудь? – user1233784

+0

Должен ли я создать прокси внутри контроллера для создания канала, который будет связываться с сервисом? – user1233784

0

Учебное пособие, которое вы используете, уже регистрирует конечную точку с помощью поведения enableWebScript - вы должны получить прокси-сервер js, сгенерированный автоматически при доступе к URL-адресу http://server/virtualdirectory/X.svc/json. Добавьте этот 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

Обратите внимание, что это ответ на КАК использовать WCF-сервис из js. Он не учитывает вопрос, правильно ли это делать из веб-приложения MVC - [ответ ShaneCourtrille] (http://stackoverflow.com/a/9508016/829181) охватывает это. – armasanea

1

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

Смежные вопросы