I've noticed that IIS tends to obfuscate error messages - displaying messages that are different than the actual issue that is happening to the application. This may very likely be because we are running a plethora of web sites with different architectures and history on one instance of IIS. I thought I document some of those 'tricky' error messages here just in case someone else runs into them (or I forget what they really mean).
1. 'An existing connection was forcibly closed by the remote host' I ran into this error numerous times trying to configure a WCF web service to bring back a large result set (60k + rows). Playing with the values for maxBuffer PoolSize and MaxReceivedMessageSize in the web.config, I came to discover that this error was really seemed to be masking was an out of memory error that forced the shutdown of the AppPool that was serving the web service.
2. 'BinaryFormatter Version Incompatibility errror' Generally I've seen this error when you have IIS site on a web server trying to communicate with another IIS site on an application server, and there is no response from the IIS site on the application server - either that web site isn't running, or your url pointing to the web site on the application server is wrong.