我创建了一个小型Web服务,使用代理为另一个网站创建HttpWebRequest
在我使用代理之后我得到了这个错误:
请求获得类型'System.Net.WebPermission,System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败。
我不知道如何修复它。
这是我的代码,
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://website.com");
req.CookieContainer = c;
req.Proxy = new WebProxy("IP:PORT");
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB7.4; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2)";
req.Accept = "application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
req.Headers.Add("Accept-Language", "en-US");
req.ServicePoint.Expect100Continue = false;
req.AllowAutoRedirect = false;
req.Timeout = 10000;
req.Method = "GET";
req.KeepAlive = true;
req.ProtocolVersion = HttpVersion.Version10;
答案 0 :(得分:2)
您似乎遇到了与信任相关的问题。您可以通过在Web.Config
下System.Web
下加入<{1}}来解决问题。
<trust level="Full" />
WebPermission
在medium trust
环境下不可用(您可以查看this article来修改此行为以及您不应该这样做的原因)。
但是,如果您需要full trust
,则可能需要重新考虑申请的要求。
答案 1 :(得分:0)
转到项目/应用程序(WPF)的属性
在安全性中,选择启用clickone安全设置。并设置项目的信任级别
答案 2 :(得分:0)
我也遇到了这个问题 - 原来是由于dll正在从网上下载网页请求。
我必须进入文件资源管理器中的dll属性(右键单击&gt;属性),然后单击“取消阻止” - 确保单击“应用”,然后单击“确定”。