0

在过去的几个小时里,我有一个奇怪的问题让我在谷歌上搜索,但我还没有找到任何接近这个的东西。

我有一个 VB.NET Winforms 项目,其中包含一个为远程托管的图表 API 动态生成图像 URL 的类,并将 URL 作为源返回到 PictureBox ( pbCallChart.ImageLocation = MyURL)。多年来,这已经到位并且运行良好。但是,我最近不得不将项目从 .NET 3.5 升级到 .NET 4.0(我在 VS 2010 中使用 64 位版本,显然不允许您在 .NET 3.5 中进行主动调试)。一旦我这样做了,我的图像就不再出现了。

当我在我正在使用的同一台机器上的网络浏览器中提取 URL 时,我验证了该图像是否有效。起初我想也许这个属性在 4.0 中被删除了,所以我尝试切换到 Load() 函数。没有骰子。然后我更进一步,写了这个小函数:

Public Function ChartImage() As Bitmap
        Dim ChartURL As String = "http://www.anyURL.com/img.jpg" 'Chart()
        Return New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(ChartURL)))
End Function

当我运行它时(并且我已经确认传递它的 URL 无关紧要),我总是会收到错误消息:

An unhandled exception of type 'System.Net.WebException' occurred in System.dll

Additional information: Unable to connect to the remote server

我知道这不是代理问题,因为它在 .NET 3.5 下的同一台计算机上运行良好。而且我已经确认这不仅仅是一个调试怪癖,因为我编译了可执行文件并将它们提供给用户 - 他们确认 .NET 3.5 版本有效,而 .NET 4.0 版本无效。

我只能假设两个版本之间肯定存在一些我不知道的安全配置差异,但似乎有人会在某处提到它。有没有其他人经历过这样的事情?我几乎没有想法 - 你有吗?

4

0 回答 0