WPF到WCF权限问题

时间:2009-05-07 20:51:04

标签: wpf wcf security permissions service

我创建了一个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 个答案:

答案 0 :(得分:3)

Scott Lanford的解决方案为我工作:
http://www.codeexperiment.com/post/Debugging-XBAPWCF-Applications.aspx

<强>引用:
出现此错误的可能原因很多,但在这种情况下,这是因为XBAP项目的默认Debug-&gt; Start Action是“在URL中启动浏览器”,其中URL只指向磁盘上的.xbap文件(例如C) :\项目\ MyProject的\ BIN \调试\ myproject.xbap)。

对于要与WCF服务通信的部分信任XBAP应用程序,必须从与WCF服务相同的域和端口部署它。解决这个难题的方法是伪造XBAP URL,方法是使用PresentationHost.exe启动XBAP应用程序并通过debugSecurityZoneURL提供XBAP URL(从“使用URL启动浏览器”值复制)和调试参数以及WCF服务URL参数。

例如,XBAP项目的调试选项应如下所示:

开始操作 - &gt; 启动外部程序= %windir%\ system32 \ PresentationHost.exe

启动选项 - &gt; 命令行参数= -debug“c:\ projects \ myproject \ bin \ debug \ MyProject.xbap”-debugSecurityZoneUrl“http://localhost:2022”< / em>的

答案 1 :(得分:0)

您需要在服务器上设置客户端访问策略。在浏览器中运行会带来一系列安全限制。

我认为本文应该为您提供所需的信息,http://www.dotnetcurry.com/ShowArticle.aspx?ID=208&AspxAutoDetectCookieSupport=1