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 :-).
if you are a web developer, you most likely want all possible tools available to you. and there are some great ones out there like firebug, ie development toolbar, etc. if you are an asp.net developer, you most likely know about the best helper tool by nikhil called the 'web development helper' which is implemented as a browser helper object for internet explorer.
nikhilk has evolved his tool over time and in the latest version has awesome support for reading JSON encoded information and visual representing them in a helper way so that you can see what is going on. as an example, here is one such view:
well, those that have been running vista may have been running into problems using nikhil's tool if you are either running under UAC-enabled or possibly running internet explorer as an administrator (run as administrator mode). this may have resulted in the web development helper a) not even showing up under the tools options in IE and/or b) when you enable the toolbar, all you see is a gray area with nothing helpful :-).
well, after reading a bit into one persons attempts, i decided to quickly hack a reg setting to see if it will work (i was one such person that couldn't get it working under vista). i'm happy to report that my results are favorable and i now have the great web development helper toolbar working under vista with UAC disabled. yippee...i'm so happy i could cry.
i'm sharing the love so here is my reg hack file. rename to .reg and merge into your registry. WARNING: MODIFYING THE REGISTRY COULD CAUSE DAMAGE IF YOU DON'T KNOW WHAT YOU ARE DOING...PERFORM THIS TASK AT YOUR OWN RISK!