Silverlight 4,WebClient子类化
根据一条建议,我在几个网页上看到(例如),我将WebClient类子类化,以便在其中使用cookie:Silverlight 4,WebClient子类化,silverlight,cookies,silverlight-4.0,webclient,Silverlight,Cookies,Silverlight 4.0,Webclient,根据一条建议,我在几个网页上看到(例如),我将WebClient类子类化,以便在其中使用cookie: public class MyWebClient : System.Net.WebClient { } 现在,当我初始化MyWebClient时: MyWebClient wc = new MyWebClient(); 它抛出TypeLoadException。我的操作系统是Windows7(日语),所以错误信息不是英语;我知道这与安全规则有关。可能有什么问题?WebClient的构造函
public class MyWebClient : System.Net.WebClient
{
}
现在,当我初始化MyWebClient时:
MyWebClient wc = new MyWebClient();
它抛出TypeLoadException。我的操作系统是Windows7(日语),所以错误信息不是英语;我知道这与安全规则有关。可能有什么问题?WebClient的构造函数被标记为
SecuritySafeCritical
属性。看起来这就是导致安全异常的原因。我尝试将相同的属性应用于MyWebClient
的构造函数,但没有成功。据我所知,在Silverlight中这种事情是不允许的。例如,请参见
作为参考,确切的异常消息为:
System.TypeLoadException
继承时违反了安全规则
重写成员:“MyWebClient..ctor()”。网络的安全可访问性
重写方法必须与的安全可访问性匹配
方法被重写
我希望有更好的答案…您需要实现一个带有SecuritySafeCritical属性的默认构造函数。我今天遇到了这个问题,这就是解决办法
public class MyWebClient : System.Net.WebClient
{
[SecuritySafeCritical]
public MyWebClient() : base() {}
}
您应该使用组合而不是继承