ClientHttpWebRequest: ArgumentNullException s - PullRequest
3 голосов
/ 24 марта 2011

Я использую Silverlight 4.0 и пытаюсь получить запрос через https.Все, что я получаю, это исключение ниже, которое не очень полезно, потому что ни одна поисковая система не находит никакого связанного решения ...

request = WebRequest.Create( new Uri("https://myurl.com/myfile" ) );
asyncResult = request.BeginGetResponse();
...
request.EndGetResponse( asyncResult );

{System.ArgumentNullException ---> System.ArgumentNullException: Value cannot be null.
Parameter name: s
   at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState)
   --- End of inner exception stack trace ---
   at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

Это работает, когда я использую http вместо https.Это работает, когда я использую браузер через https.Но не так.Любые подсказки, где искать ответ, или даже ответ, будут очень благодарны.

[РЕДАКТИРОВАТЬ] Хорошо, я выяснил, в чем проблема: очевидно, это как-то связано с Firefox и сертификатами,Когда я запускаю xap в IE, он просит меня доверять сертификату, и тогда он работает.В Firefox у меня никогда не возникало такого вопроса, и он никогда не работал (даже если я скачал xap по тому же адресу). Итак, теперь вопрос: как мне заставить работать https, Firefox и Silverlight для совместной работы?

[EDIT2] У меня все та же проблема, но есть кое-что еще.Проблема не только в Firefox, но и вне браузера (даже если установлена ​​из IE).Есть кто-то с похожим исключением, но нет ответа: http://forums.silverlight.net/forums/p/210114/494451.aspx

1 Ответ

1 голос
/ 15 апреля 2011

Понял.

Проблема заключалась в том, что сертификат корневого центра сертификации сервера был ненадежным.Поскольку у меня был установлен IE 6, я действительно не видел сообщение.Исключение, добавленное в Firefox, не распространяется на Silverlight (поскольку Silverlight, по-видимому, всегда является глобальными сертификатами Windows).

При установке IE 8 обнаруживается, что сертификат корневого ЦС был ненадежным прямо рядом с адресной строкой.Нажмите на это сообщение, добавьте сертификат корневого CA к тем, которые используются в Windows и вуаля, все работает, IE, OOB и Firefox.

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