Silverlight 4 WebRequest, SSL и учетные данные - PullRequest
2 голосов
/ 12 июня 2010

У меня есть следующий код:

    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)
    {
        // ...
    }

Теперь это прекрасно работает, скажем, для Twitter.Но когда я пытаюсь сделать это с другой службой https, я получаю сообщение об ошибке безопасности.

Возможно, это связано с тем, что на веб-сайте, к которому я пытаюсь подключиться, также отсутствует файл crossdomain.xml.Есть ли способ обойти это?Или файл действительно должен быть там?Спасибо.

1 Ответ

2 голосов
/ 18 июня 2010

Да, на сервере должен быть файл ClientAccessPolicy.xml или файл crossdomain.xml. Единственный известный мне способ обойти это - заставить собственный серверный сервис выступать в роли прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...