2010-06-12 61 views
2

我有下面的代码:Silverlight 4中的WebRequest,SSL和证书

public void StartDataRequest() 
    { 
     WebRequest.RegisterPrefix("https://", System.Net.Browser.WebRequestCreator.ClientHttp); 

     WebClient myService = new WebClient 
           { 
            AllowReadStreamBuffering = true, 
            UseDefaultCredentials = false, 
            Credentials = new NetworkCredential("username", "password") 
           }; 
     myService.UseDefaultCredentials = false; 

     myService.OpenReadCompleted += this.RequestCompleted; 
     myService.OpenReadAsync(new Uri("Url")); 
    } 

    public void RequestCompleted(object sender, System.Net.OpenReadCompletedEventArgs e) 
    { 
     // ... 
    } 

现在这个完美的作品,比如说,微博。但是当我尝试使用另一个https服务时,我收到安全错误。

这可能是因为我尝试连接的网站也没有crossdomain.xml。有没有办法绕过这个?或者文件真的需要在那里? 谢谢。

回答

2

是服务器必须具有ClientAccessPolicy.xml文件或crossdomain.xml文件。我知道解决这个问题的唯一方法是让您自己的服务器端服务充当代理。