所以我有3台服务器。我们称他们为A,B和C
A和B托管网站并进行负载平衡。 C是一个文件服务器,除了提供各种类型的文件外什么都不做,但为此我们将使用图像。 C没有运行IIS。
当我在服务器B上测试时,图像按预期提供。
当我在服务器A上测试时,页面加载缓慢,我收到以下错误消息:
GET http://domainC/folder/imageA.png 500 (Internal Server Error)
如果我转到“domainC / folder / imageA.png”,网页会显示“友好”错误,上面写着:
500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed.
我在A和C上都查看了事件查看器。我发现这两台机器都没有错误。
为了使事情复杂化,我可以转到“domainC / folder / imageB.png”,它会按预期显示图像。
我已经比较了A和B上的网站的应用程序池和设置,并且据我所知,一切都是相同的。
我之前在A上看过这个:
无法开始监控对'\ C \文件夹'的更改。
at System.Web.FileChangesMonitor.FindDirectoryMonitor(String dir,Boolean addIfNotFound,Boolean throwOnError) 在System.Web.FileChangesMonitor.StartMonitoringFile(String别名,FileChangeEventHandler回调)
at System.Web.Configuration.WebConfigurationHost.StartMonitoringStreamForChanges(String streamName,StreamChangeCallback callback)
at System.Configuration.BaseConfigurationRecord.MonitorStream(String configKey,String configSource,String streamname)
在System.Configuration.BaseConfigurationRecord.InitConfigFromFile()
另外,在我机器上的hosts文件中,我有以下一行:
xx.xx.xx.xx A.com C.com
由于A的虚拟目录指向C上的物理位置,因此这将导致成功拉动,并且它会对某些图像产生影响。当我对B做同样的事情时,它可以正常工作。
在这一点上,我完全不知道会发生什么。
答案 0 :(得分:0)
在服务器A和服务器B上的文件夹之间进行了非常彻底的区分后,在A上的图像文件夹中找到了一个web.config文件。不确定它是如何到达那里的,因为它不在解决方案中,但删除了似乎已经完成了这个伎俩。