Tuesday, February 5, 2008

WCF Shortcomings and Dark Sides

I've been busy for last months, working on not-much-new-anymore, .NET 3.0 foundations, with more focus on WPF and WCF.

Here are some drawbacks and shortcomings I encountered when testing the WCF :

  1. I tried getting a DataSet containing 100 data rows from a service, using TCP binding with reliable session. When the data was bigger than a few KiloBytes, client didn't recieve the message from the service, and because of Reliable Session, service kept sending the results again and again in specific time intervals!

    It turned out that there's a setting to specify the maximum message size client can recieve. Client will NOT receive messages larger than that, and what made me wonder is how low the default value is!

  2. There's no way to configure the service client/server from external configuration file or other means, e.g. from database, xml document, etc! You only get two options : configure from code, or application/web config file. Back in remoting days, we could pass a configuration file to the remoting subsystem and let the system configure itself from that file. This is VERY annoying specially for service clients where the application configuration is a bad idea to use if you have curious users running your application! Altough, there's a workaround to use an external configuration file on the client, there's none for the service side. If you're intrested see here

  3. You need a ServiceHost to host a service in self-hosting mode. A service host can not host multiple services. Although, you can use multiple service hosts, but I guess it could be provided out of the box in WCF.

As you see, drawbacks (so far) is very small comparing to all you get using WCF. In case you have something you think is missing from WCF, you can send your feedback to microsoft at their connect site : https://connect.microsoft.com/wcf/ Hopefully, they'll consider it if there's enough votes.


Submit this story to DotNetKicks Shout it

No comments: