c# - 客户端 HttpWebRequest : ArgumentNullException s

标签 c# .net silverlight firefox https

我正在使用 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 和证书有关。当我在 IE 中运行 xap 时,它要求我信任一个证书,然后它就可以工作了。在 Firefox 中,我从来没有遇到过这样的问题,而且它从来没有用过(即使我通过那个地址下载了 xap。)所以现在的问题是:如何让 https、Firefox 和 Silverlight 协同工作?

[编辑2] 我仍然遇到同样的问题,但还有更多问题。不仅 Firefox 有问题,浏览器外也有问题(即使从 IE 安装)。有人有类似的异常,但没有答案:http://forums.silverlight.net/forums/p/210114/494451.aspx

最佳答案

明白了。

问题是服务器的根 CA 证书不受信任。因为我安装了 IE 6,所以我没有真正看到消息。添加到 Firefox 的异常没有传播到 Silverlight(因为 Silverlight 显然总是全局 Windows 证书)。

安装 IE 8 显示地址栏旁边的根 CA 证书不受信任。单击该消息,将根 CA 证书添加到 Windows 使用的证书,瞧,一切正常,IE、OOB 和 Firefox。

关于c# - 客户端 HttpWebRequest : ArgumentNullException s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5421628/

相关文章:

c# - 与 Windows 命名管道 (.Net) 的异步双向通信

c# - 如何生成一个范围内的加密安全随机整数?

silverlight - 嵌入字体强制 Silverlight 项目始终重建

c# - Datagrid 按需卸载

c# - 对多个类执行单个 WMI 查询,这可能吗?

c# - 在我的.net程序运行时仍要处理奇怪的错误吗?

c# - 当属性是一个类时,你如何给 C# 自动属性一个默认值

.net - 如何使用C#识别CMYK图像

c# - 什么等于 c# 中的 c++ size_t

c# - 如何顺序执行异步操作?