I’ve got a Visual Studio 2008 solution with a WCF service, and a client.
When I run my client, and call a method from my service I get a message saying “Unable to automatically debug ‘Home.Service’. The remote procedure could not be debugged. This usually indicates that debugging has not been enabled on the server.”
I’ve googled around, and have tried the following.
<system.web>
<compilation debug="true" />
</system.web>
has been added in app.config on both the client and the server.
I have also made sure that the project is being compiled in Debug mode.
What else could be causing this message?
Edit: Added more info based on feedback questions
- It is using wsHttpBinding
-
I have set
<serviceDebug includeExceptionDetailInFaults="true"/> -
I am using
var service = new HomeReference.HomeServiceClient(); service.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
Unfortunately the error shows up the first time I call a method on my Service. I can dismiss the messagebox, and the application continues working. Any Exceptions thrown on the server at not propagated back to the client though (I assume it should?)
In my case the problem turned out to be a mismatch between security settings on client and server. I was using a custom binding like this:
When I removed the security element that I’ve highlighted above the problem with the “Unable to automatically debug” message went away.
To solve the problem I first turned on WCF tracing. This showed me that WCF was throwing a MessageSecurityException:
That pointed me to look at the Binding settings on the client side. It turned out that I hadn’t added the required security element to my custom binding there. Since I was doing this through code, I needed the following (note the 3rd line):
As to why Visual Studio was showing that error, I’ve no idea – looks to me to be a bug.