A small tidbit. In WCF, service code like this
public string MyServiceMethod()
{
throw new FaultException<string>("It happened!");
}
will make VS break into debugger. Normally you just throw FaultException's, knowing that the dispatcher hadles it to convert it to a fault contract message. But VS thinks that it's an unhandled user exception (it is, actualy). For a smoother debugging experience, just add
System.ServiceModel.FaultException`1 to
Debug / Exceptions / Common Language Runtime Exceptions, unchecked.
