Вопрос разрешения WPF to WCF - PullRequest
1 голос
/ 08 мая 2009

Я создал браузерное приложение WPF, которое хочу подключить к службе WCF. Служба находится в том же решении, что и приложение WPF. Это служба по умолчанию, которую Visual Studio создает с помощью метода GetData (int)

Я пытаюсь позвонить в эту службу со следующим кодом:

var client = new Service1.Service1Client();
client.GetData(10);

Я получаю следующую ошибку в вышеуказанной строке (client.GetData (10);)

{"Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."}

Пожалуйста, помогите

Ответы [ 2 ]

3 голосов
/ 08 мая 2009

Это решение от Скотта Лэнфорда сработало для меня:
http://www.codeexperiment.com/post/Debugging-XBAPWCF-Applications.aspx

Цитата:
Возможные причины этой ошибки многочисленны, но в данном случае это произошло потому, что по умолчанию Debug-> Start Action для проекта XBAP «Запустить браузер в URL», где URL просто указывает на файл .xbap на диске (например, C: \ проекты \ MyProject \ Bin \ Debug \ myproject.xbap).

Чтобы приложение XBAP с частичным доверием могло взаимодействовать со службой WCF, оно должно быть развернуто из того же домена и порта, что и служба WCF. Чтобы решить эту дилемму, нужно подделать URL-адрес XBAP, запустив приложение XBAP с PresentationHost.exe и указав URL-адрес XBAP (скопированный из значения «Начать браузер с URL-адреса») через параметр debug и URL-адрес службы WCF через debugSecurityZoneURL параметр.

Например, параметры отладки для вашего проекта XBAP должны выглядеть примерно так:

Запустить действие -> Запустить внешнюю программу = % windir% \ system32 \ PresentationHost.exe

Параметры запуска -> Аргументы командной строки = -debug "c: \ projects \ myproject \ bin \ debug \ MyProject.xbap" -debugSecurityZoneUrl "http://localhost:2022"

0 голосов
/ 08 мая 2009

Вам необходимо настроить политику клиентского доступа на сервере. Запуск в браузере имеет множество ограничений безопасности.

Я думаю, что эта статья должна дать вам необходимую информацию, http://www.dotnetcurry.com/ShowArticle.aspx?ID=208&AspxAutoDetectCookieSupport=1.

...