好的SO社区。今天我有一个离奇的。我完全被难倒了,谷歌搜索并没有找到有用的结果。这是希望最好的社区可以有一些想法。
问题
我的网络服务中出现以下两个错误:
错误1:
11/17/2015 1:32:49 PM - GetGoogleFlightTrackerImage ERROR:
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(Stream stream)
at GeoMapping.TrackerImage.DrawImage()
at GeoMapping.GeoMappingService.GetGoogleFlightTrackerImage(String TailNumber, Int32 xRes, Int32 yRes, IEnumerable`1 AdditionalLayers, Boolean DisplayFlightPlan, MapType MapType)
错误2:
11/17/2015 1:22:22 PM - GetGoogleFlightTrackerImage ERROR:
System.Net.WebException:
The underlying connection was closed: An unexpected error occurred on a receive. --->
System.IO.IOException: Unable to read data from the transport connection:
An existing connection was forcibly closed by the remote host. --->
System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
--- End of inner exception stack trace ---
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadData(Uri address)
at GeoMapping.TrackerImage.DrawImage()
at GeoMapping.GeoMappingService.GetGoogleFlightTrackerImage(String TailNumber, Int32 xRes, Int32 yRes, IEnumerable`1 AdditionalLayers, Boolean DisplayFlightPlan, MapType MapType)
现在,我知道错误1是一个非常普通的错误,并且可能由于许多不同的原因而被抛出。我认为是罪犯的原因之一是没有正确处理Bitmaps。我已经完成了所有代码并适当地处理了所有对象。遗憾的是仍然收到错误。至于错误2,我理解错误意味着服务已经崩溃,停止,目前正忙,或者是那种性质的东西。
奇怪的部分
这是奇怪的地方。当我登录服务器,查看事件日志并查看错误时,它们会停止。完全。这已经发生了几个星期了。该服务可以运行很长时间,然后它将开始得到这些错误。也许它会在一夜之间发生,并持续数小时。当我进来时,我可以登录服务器,他们立即停止。此外,它不仅仅是我的登录使其工作。任何登录服务器都会再次运行。没有IIS重置,没有应用程序池重新启动,或任何东西。它只是有效。事件查看器中的最后一个条目始终是我的Windows登录。然后没有更多的错误。
所以,我问你们所有人,有什么我想念的吗?登录到服务器可以奇迹般地修复这些错误的是什么?我唯一的初步想法是HD会睡觉,但看到我们如何不断写入事件查看器,并不断尝试读取HD上的图像,我不认为这是它。有什么想法吗?
我的服务器环境
操作系统:Windows Server 2008 Datacenter
服务器类型:VM
RAM:16GB