Calender
<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

Today I had a strange issue with my WCF service.  I was getting an error in the wcftestclient after I made a change to a method and published it.  The odd part is there was no "exception" information at all.  Everything was null, but I did have a stacktrace that ended with:

System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood ... 

I googled this problem only to find lots of people having this issue but no one offered up the real cause, and I had to discover it myself.  The reason is so simple it made me feel pretty dumb but on the flip side, I've managed to work with WCF for this long without making this mistake so ... there is that.

Turns out I simply WASN'T catching an exception.  WCF can not raise an exception past the service boundary of course.  I think for grins I actually tried to serialize an exception once and it wasn't pretty, but anyway ... to resolve this, I simply wrote an Error object that has everything I need about the exception and added it to my response object that the service method returns. If an exception occurs, I capture the information into the Error object and make sure my WCF service returns the response regardless.  On the client side you simply have to check the error object to see if its' not null, and react appropriately.  This is 101 stuff but I thought I'd mention it just in case it may help someone. 

If anyone reading this knows of a slicker way, please post a comment with a link to further reading!

 

j

 


Android dev on a windows machine is a little bit different than what all the "books" seem to tell you, since they primarily assume you're deving on ubuntu or whatnot.  To generate an MD5 fingerprint in windows try something like this:

C:\Program Files\Java\jre6\bin\keytool -list -alias androiddebugkey -keystore c:\users\[yourname]\.android\debug.keystore -storepass android -keypass android

 

 

Posted by: Jason | Created on: 14/03/2010, 05:23

I thought the enTourage eDGe looked pretty sweet, until I watched the commercial.  I kept waiting for them to offer me a free Slap-Chop if I ordered one in the next 20 minutes. 

Check it out:  http://www.entourageedge.com/blog/?p=325

 

This video for the Qualcomm Mirasol device is just BAD.  And by that I mean I watched it 10 times because I couldn't stop laughing.

Let me summarize for you.

  • You should care about this display because it is actually going to bring some consumer value to you when it comes to market.  (So in English, what you're saying is that I should care about this device now because I will care about this device later?)
  • The 4 things that are going to drive the difference for you are:

  1.  
    1. Incredibly ... low ... power. (She corrects herself but I had to laugh when I heard it.)
    2. It's color, which is important because we live in a color world. (Wait, but I'm color blind ... WHAT WORLD DO I LIVE IN?!?)
    3. You'll see butterflies in here.  That is how we create color. (Wow, that explains the incredibly low power.)
    4. ... (4?  Hello? 4 are you there?  Can someone please find 4 and tell them that we're on?)
Having said that, wow this device looks awesome.  Good job Qualcomm!  But all she had to say was:  Look at this folks. Full color. Full motion. No back-lighting, Boom.  You're gonna love my nuts.

Check it out:  http://www.crunchgear.com/2010/02/15/color-e-reader-uses-butterfly-based-technology-to-save-power/

Ok now I'm not proud of this, but we all have funny business requirements that hit us sometimes and you do what you can to make "stuff" work.  I had an "emergency" come down from on-high and it was made clear that I had to implement a fix in production right away. I was told to avoid a recompile at all costs.  Aka they wanted me to change some text on an asp.net page but not touch the code-behind, which would require the recompile.

Unfortunately the requirement was that the text had to show up for only 1 item inside a repeater control.  The problem is you can't have conditions inside a binding expression.

You can tell just by looking at the following line how not-gonna-happen this is...

<%# if DirectCast(Container.DataItem, myFakeObject).ID = x then %>

Anyway ... IIF to the rescue, although this is horrid in every way .... here is the kludge.

<%# iif(DirectCast(Container.DataItem, myFakeObject).ID = x, "Some incredibly long html that outputs if the condition is true", " ") %>

In my case that html was an entire paragraph.  I'm not looking forward to hearing the screams of the developer that rolls up behind me and sees this.  Que Sara Sara.