Today I received a message from codeplex telling me that I needed to publish my tfsproxy project on codeplex. I tried doing that but it won’t let me because I didn’t had any source code in the tfs servers. So I decided to let the project get closed on May 1 2009.
For those that are still looking for the code You can find it here on my skydrive folder.
http://cid-81c1c1a3ae5a0b08.skydrive.live.com/self.aspx/TfsProxy
Filed under: .net, .net 2.0, Team Foundation Server, Visual Studio .Net 2005, Web Services
February 6, 2009 • 9:13 am

Yesterday I experienced some issues when I was trying to access a generic http handler (*.ashx) file using only the path without the filename e.g.: http://localhost/somefolder
The default document was set to uploadhandler.ashx. So i expected that if I connected to http://localhost/somefolder it would sent me to http://localhost/somefolder/uploadhandler.ashx but it didn’t. Appareantly it has got something to do with not adding a ‘/’ at the end. For the exact problem and also the reason why it didn’t work as well as the solution have a look at post of mine put up at the iis.net fourms http://forums.iis.net/t/1155013.aspx
Filed under: .net 3.5, IIS
January 12, 2009 • 4:30 pm
January 7, 2009 • 12:45 pm

Aleksandar’s Fantasy Swirl Brushes.
Filed under: Photoshop
November 6, 2008 • 2:24 pm
When using the 3.5 version of the compact framework it is possible to connect with wcf services. This is because the CF 3.5 contains a limited subset of the wcf technology. There are several blog posts listing the wcf capabilities in CF e.g.: http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx
We were researching for a mobile client to connect to a wcf service running at one of our servers. The requirement is that transport is secured by using HTTPS protocol.
The first problem was creating a client side proxy. Since the SvcUtil doesn’t work for the CF we had to look for an alternative. After some googling we found the netCFSvcUtil which is basically the same as the svcutil, but it generates a proxy specifically for CF. You can find it as part of the Power Toys for .NET Compact Framework 3.5. For more on this you can read this excellent blog post by Andrew Arnott
When you get this generated client proxy there is another problem. It expects that you are using HTTP. Since we need HTTPS that’s a problem. Thanks to Damir Dobric we found how to make the proxy use https instead of http.
System.ServiceModel.Channels.CustomBinding binding = new
System.ServiceModel.Channels.CustomBinding();
binding.Elements.Add(new System.ServiceModel.Channels.TextMessageEncodingBindingElement
(System.ServiceModel.Channels.MessageVersion.Soap11, System.Text.Encoding.UTF8));
System.ServiceModel.Channels.HttpsTransportBindingElement https =
new System.ServiceModel.Channels.HttpsTransportBindingElement();
https.RequireClientCertificate = false;
binding.Elements.Add(https);
This way your client proxy is now HTTPS enabled.
Another problem we had was that the disco file was downloaded from the “wrong” location. We have a wildcard certificate in place for our HTTPS like *.domain.com. We were accessing the service using https://laptop1.domain.com/wcf/service.svc. Although this url works fine when we browsed to it, there was an issue when we tried to generate a client proxy. It seemed that both svcutil as netcfsvcutil were trying to download the DISCO file from https://laptop1/wcf/service.svc?Disco. When we browsed to this link it worked just fine. The problem is in the url and the wildcard certificate. Since the disco url didn’t include the domain.com part in its url the utils were not able to establish a trust relationship over ssl with the web server. This is perfectly normal since it does not correspond with our wildcard certificate.
The solution is to update the https binding in IIS by giving it a host header. Now this is something you can’t do in the IIS control panel. There are 2 ways of doing this: Using scripting or using the metabase explorer that can be found in the IIS 6.0 resource toolkithttp://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/993a8a36-5761-448f-889e-9ae58d072c09.mspx?mfr=true
A last advice don’t fall into the same trap by thinking that a wshttpbinding is required to do HTTPS, it’s perfectly possible by using a basichttpbinding where the security mode is set to transport.
Filed under: .net 3.5, .net Compact Framework, IIS, WCF
October 30, 2008 • 2:01 pm
October 27, 2008 • 3:51 pm
Meet the new .net logo. I like it.
Filed under: .net
October 23, 2008 • 12:31 pm
A application menu like the one you can see here is something I wish for every day at work. It would really make life easier
Just wondering in what language it was programmed because I really wonder how they got it to compile
Filed under: Uncategorized
October 22, 2008 • 8:36 pm
In my recent development I’ve been using msmq to store messages that can’t reach a wcf service when it’s not available. I was setting the Message (System.Messaging) property Priority so that the queue would prioritize the incoming messages.
However when I looked at the queue all the messages their priorities where 0 or “Lowest”. It seems to be because my queue is transactional (which is a requirement for the msmqintegrationbinding). It was a bit of a disappointment that I couldn’t control the priority using the native msmq features, but hey that’s the price I had to pay for some other great functionality.
Filed under: .net 3.5, MSMQ, Visual Studio .Net 2008, WCF
Today I discovered the msmqintegrationbinding in the windows communication framework.
This binding is especially to allow wcf services to process message that are put in a message queue by some legacy program. The advantage of this is that you can do this without the need to change the legacy client.
If you want more information on how to use this binding have a look at this post at Simon Evan’s blog
There was something I liked in particular and it was exactly what I was looking for; I’m working on a custom logging framework adapted to our needs. To keep it simple let’s say that a Log class sends messages using the fast netnamedpipebinding in wcf to a service. This works fine, but what when the service is unavailable? Well I’ve designed the Log class to automatically failover sending the message it would normally send to the service to a queue. This way I don’t lose any of the log messages. The advantage I mentioned above is that when I reset the service (launch it again) it automatically starts processing the messages (logs) in the queue as well as accepting new log messages using the named pipes. So this way I achieve our main priority: deliver the log messages as fast as possible, but without losing them when the service is down.
Filed under: .net 3.5, Visual Studio .Net 2008, WCF