When working with data and Silverlight there has often been the questions of wondering why when a service call fails that Silverlight returns the HTTP 404 status code. In fact I’ve written about troubleshooting those types of issues in the past and tools you can use to help investigate some problems.
Still people mostly ask "if there is an exception, why is Silverlight telling me ‘not found’ instead of sending me the exception?'” Eugene Osovetsky from the connected systems team aims to answer those questions in a recent post with a little more detail than has been provided in the past as well as offering some suggestions. From his post, this is one of the main reasons which I’ve echoed in discussions, webcasts, forums in the past as well:
“Unfortunately, web browsers have a limitation with regards to status codes: When a browser plugin (such as Silverlight) makes an HTTP request, and the response status code is not 200, the browser hides the actual status code and the message body from the plugin. All Silverlight knows is that "something went wrong", but it has no way of discovering any details.”
Take a look at Eugene’s post for some other helpful suggestions.