Friday, June 27, 2008

Debugging into the .net framework

I've gotten tired of finding the directions on how to set this up. So this post is more a reminder to myself of where to find some good directions:

http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx

More official resource:
http://referencesource.microsoft.com/

Wednesday, June 11, 2008

WSDL For WCF ASP.Net service uses local machine name Part II

Something I discovered while doing this is that a WCF service can only be hosted in a site which has a single binding. Based on some forum posts it sounded like this was by design. What this means is that if you are using for example multiple host headers to get to your site, you will not be able to host your WCF service in the web.

There was a blog posting which I have since lost which showed one potential solution which was to use filtering; however in my case I opted to split the service out from the rest of my web which was my original intent anyways.

- Josh

Monday, June 9, 2008

WSDL For WCF ASP.Net service uses local machine name

I've finally found myself with an opportunity to develop and deploy my first WCF service. I know I am several years behind the game but that's what happens when you work for a company which becomes stagnant in their adoption of technology (It is so nice to once again be back with a small and nimble startup).

There are some good articles on deploying a WCF service to IIS on MSDN. Which I recommend reading. I ran into an issue in the the wsdl for my service was using the localmachine name for all the bindings. The autogenerated page you get when you navigate to the .svc page said use: svcutil.exe http://[machinename]/MyService.svc to generate a proxy.

I discovered that in order to get the real URL in here (And within the WSDL for the imports), I needed to set a host header with my domain name. See KB 324287 for more information on how to do this. Once I had configured the host header I was all set.

If you need to do this for a service which is hosted on SSL, you can try the directions from the following blog which gave me the idea to try this for non-ssl ports.