The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
To diagnose this problem, run the service under the Visual Studio debugger. Use the menu: Debug|Exceptions and indicate that you want to break when an Exception is thrown.
The original exception thrown will have a much better error message than "..it is in the Faulted state."
For example I was getting this exception from ServiceHost.Open(), but when I caught the original exception at the time it was thrown, the error message was:
Service 'MyServiceName' has zero application (non-infrastructure) endpoints. This might be because no configuration file was found for your application, or because no service element matching the service name could be found in the configuration file, or because no endpoints were defined in the service element.
Fixing the spelling error in App.config solved the problem.