WCF, WSDL and tempUri.org
April 11, 2008
It’s back! Just when we thought that we’ve seen the dreadful namespace http://tempuri.org is coming back at us with full power.
The feeling you get when a web service is exposed under the namespace tempUri.org is that the developer of that web service is either sloppy or don’t now what he is doing.
Well, well - don’t be like that when it comes to using WCF. Here is an article describing how to do it. The key points are quite easy:
- Use the ServiceBehavior attribute. Note: on the service implementation - not on the contract!
- Set the namespace-property to the namespace you want.
Here is an example (yes, I know, it’s in dreaded VB.NET):
<ServiceBehavior(Namespace:="<https://www.marcusoft.net/Services/2008/04/MyService>", _)> Public Class MyServiceImplementation...
WCF configuration or Do it yourself
April 10, 2008
Configuration of WCF-services is a vast area… anyone who looked into the subject are sure to agree on that. The whole idea with WCF-services is that you can via configuration tweak the behavior and appearance of a service without having to change any internal logic of the service.
When I tried my first services I was “tricked” into choosing one of the pre-manufactured project templates that Microsoft ships with Visual Studio 2008. This was bad decision. The number of configuration properties and stuff generated for me was so great that I didn’t understand the true important stuff that I needed to know.
However, this Tuesday we had a interesting visitor at Avega - Christian Weyer. He gave an introduction on WCF. From that lecture I got so much more than from what the templates showed me.
So this is what you really need to configure on your service:
...Sending parameters to msbuild in TFS
April 10, 2008
The build process in Team Foundation Server is the one part where you still miss some stuff. Although it is much better in TFS 2008 than in TFS 2005 it is still quite cumbersome to handle.
The way you start off with a wizard and then almost always need to go into the .proj-file to do updates is also confusing. Most people don’t want to be fiddling around with the nitty-gritty details of a MSBuild-script - it is not pretty.
These, and other reasons, has led many of the projects that I am involved in to create a lot of build scripts - and some of them is not need. Like, for example, you shouldn’t be needing a separate build script to deploy to a certain environment, or the deploy part should not have to get and rebuild the sources.
The solution to this is of course to send and...
Required file 'alink.dll with IAlink3' could not be found - and the solution to it
April 9, 2008
OK - a bit irritating but the first time I tried to compile … well anything (a console-application in this case) on my newly installed Visual Studio 2008 on Vista - I got this error:
Required file ‘alink.dll with IAlink3’ could not be found
Fortunately a lot of people seems to be having the same problem. Here is one guy describing the solution. But just to be sure I’ve copied the solution into here:
The solution was to install two Windows Update items found on the Visual Studio 2008 DVD in the “<dvdDrive>:\WCU\dotNetFramework\dotNetMSP\x64” folder (for 32-bit version look in the “<dvdDrive>:\WCU\dotNetFramework\dotNetMSP\x86” folder):
- NetFX2.0-KB110806-v6000-x64.msu. Run it, wait forever, reboot when it’s done.
- NetFX3.0-KB929300-v6000-x64.msu. Run it, wait forever, reboot when it’s done
Black Dyke Live Concert
April 8, 2008
This weekend the Black Dyke Band broadcasted one of their concerts. And what a concert it seems to be.
Here are the links to them:
Enjoy - I know I will!
Naming service reference to get namespace-like behavior
April 8, 2008
In my current project we are accessing a legacy system using Microsoft Transaction Integrator. Luckily for us we don’t have to write any of that stuff, that is done by another team who exposes the objects and methods in the legacy system as web services.
However - they have chosen to encapsulate each object.method as one web service. Since we will have about 50 methods to call it we be … 50 web service references for us to keep track on.
That is not a problem if it wasn’t for the name spacing. There are a lot of wsGetBusinessCodes and wsUpdateInsurance namespaces running around in our code.
Yesterday we found a “solution” to how to organize the web service references on our, the client, side - and still let the server side publish the web service how they like. The solution is quite simple;
As it turns out you...
New York Staff Band and Enfield together
April 8, 2008
Wow - here is a whole concert with the two great bands, in top form as it sounds. And with the extra treat of hearing Philip Smith playing Victorious (is it a bit sloppy for the worlds greatest trumpeter…?). There are also some other great items from other occasions
Click on “Band profile” for the complete concert…
Here is the same thing in full screen-mode
Transactions in stored procedures with transaction scope
April 7, 2008
Yesterday I got a question from a colleague who had run into trouble using the TransactionScope-construct in .NET.
The case was as follows; the are programming against a database whose stored procedures they cannot change. Some of these stored procedures are using calling each other and doing so under stored procedures. When the .NET-code is calling those stored procedures and doing so under TransactionScope they run into problems. The TransactionScope is not Complete-ing and the reader they are using in the TransactionScope simply returns empty (Nothing).
OK -first and foremost; don’t mix! It’s no good idea to have two guys deciding on when you are done. So use either the excellent Transaction support given in .NET 2.0 or use transactions in stored procedures. However…
To my colleague’s defense it must be said that they cannot change the stored procedures they are using, so they are stuck. This is how you...
Error message "Could not load file or assembly 'Microsoft.VisualStudio.Enterprise.ASPNetHelper" when deploying
April 4, 2008
When we deployed our latest WCF-service we ran into this error message: Could not load file or assembly ‘Microsoft.VisualStudio.Enterprise.ASPNetHelper’.
Apparently this has to do with Visual Studio inserting stuff into the web.config (or app.config) when you ran a test under code coverage. From my goggling I find that other actions in Visual Studio might insert this also.
Here is a short posting describing the problem.
Be sure to “clean” the web.config-file that is promoted to your testing and production environments.
Design patterns
April 4, 2008
I’ve been doing some reading up on design patterns, mostly actually since I was curious on the book - Head First Design Patterns.
It is great - I can honestly say that it is the best IT-related book I’ve ever read. It is the first time (embarrassing enough) I understand some of these patterns. It covers a lot of different aspects and do just enough of deep exploration. And (not least) it is FUN - I actually laugh when I read it. When did you do that reading for example this book (which also is good, but not fun…).
However - a colleague tipped me on a great resource for pattern explanations on line: http://www.dofactory.com/Patterns/Patterns.aspx
Thanks Calle for the tip, and for borrowing the book