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.
A while back I pondered doing a “live” debug session with people who were/are working with Silverlight 2 and data access via services, etc. I really like a live concept because it allows people to ask real questions and feels more conversational than a one-way presentation. After some consideration, I’m not sure I could quite guarantee the environment I was looking for to accomplish this type of style.
So as a second best, I’ve set up a webcast: Troubleshooting Silverlight Data Access. I hope to keep the question channel open during the webcast though and answer as many questions as possible. I’ve seen many questions on forums, through emails, and all over the interwebs about people hitting certain pitfalls with Silverlight and data access. Most of these are common scenarios and you need just a bit of “a-ha!” help to get you over the confusion stump. That’s my aim. I have set aside an hour (would have liked to do it sooner, but just time doesn’t permit right now) to tackle the most common things I’m seeing with data and Silverlight. I’ll create the scenarios that get you stuck and show you what I do to help get you un-stuck from those moments. Stop scratching your head any longer!
UPDATE: The webcast is now available online for playback.
We’ll look at tools you can use, how you can dig deeper into error messages, working with different types of data, etc. I want to help! Please leave your questions here on this blog post as a comment so that I can be sure to address the scenarios. This isn’t a 1:1 debug session, so it will be hard to tackle the “hey, I’ve got this service from my AS/400 server exposed as a fitzer-valve service bus, which is able to be called from my Java front-end but doesn’t work in Silverlight: why not Tim?" questions, but I hope to help get you along the path of what to look for and to avoid the common mistakes.
Sound good? I’m looking forward to it. Again, please leave comments on this post so we can have the best possible session. You can register for the webcast here. I look forward to our time together :-).