I have seen an interesting and sometimes annoying side effect of using Silverlight binding on string properties that makes them turn from a null string to an empty (length 0) string. Typically my bindings are bound to WCF RIA Services entities that can have a nullable string. By simply selecting and then unselecting a TextBox that is bound to a nullable string in an entity will cause it to become an empty string.

 

This wasn’t what I wanted to happen. I need strings that have been changed to empty to stay null if and only if the underlying entity ...

This week our CEO, Lino Tadros, is the special guest on  the popular .NET development show, “Yet Another Podcast”. The show is hosted by Jesse Liberty, a Senior Developer-Community Evangelist on the Windows Phone Team. Jesse and Lino discuss developing applications for Windows Phone, MVVM, Silverlight, Visual Studio 11 and more. Lino also makes a big promotional offer during the interview, so if you are itching to learn a little bit about Windows Phone, you are going to want to tune in.


Grab the podcast here: http://jesseliberty.com/2012/02/06/yet-another-podcast-59lino-tadres/

Recently while implementing forms authentication for a WCF RIA Services application I ran into some trouble setting the expiration of the cookie that kept the user logged in. In the web config I had set the forms timeout to 120 minutes like so:

 1:  <authentication  mode="Forms">
 2:  <forms  name=".App_ASPXAUTH"  timeout="120"  slidingExpiration="true"  />
 3:  </authentication>

This worked just fine. After 120 minutes of the browser being open without Silverlight making a request to the server, the authentication had timed-out and I needed to log in again. Once I had that working correctly ...

A question that comes up often from developers who are working with Silverlight and WCF RIA Services: why does my Silverlight application throw an exception when it has been idle for a period of time?  As you might expect, it is due to the authenticated session timing out.  But it isn’t quite that straightforward.  Because Silverlight uses a client/server architecture, the client can operate independent of the server for an indefinite period of time.  It is only when the Silverlight client makes a call to the server that the server-side timeout is realized.

There are a few options to handle ...

What makes RadDomainDataSource MVVM friendly and why did Telerik build it? In his excellent blog "An MVVM Approach to Telerik Domain Services for Silverlight", Rossen Hristov says:

"I truly believe that every time someone places an UI element or a control in his view model, a baby kitten dies somewhere."

Here at Falafel, I do believe its company policy not to kill kittens and our code base must reflect this. The secret sauce that allows us to move DomainDataSource functions cleanly into the ViewModel is the QueryableDomainServiceCollectionView (QDSCV) class. RadDomainDataSource is simply a control wrapper around the QDSCV ...