2010-11-23 7 views
5

comment ajouter IncludeExceptionDetailInFaults = true; au code ci-dessous. J'ai besoin d'obtenir les détails de l'exception FaultException lancée par le service Web. Actuellement, je ne reçois aucun détail. Il semble que la seule chose que je reviens est le. des idées?Comment ajouter WCF IncludeExceptionDetailInFaults aux comportements Endpoint?

C# code

CustomBinding Binding = new CustomBinding(BINDING_NAME); 

EndpointAddress EndPoint = new EndpointAddress(WsEndpoint); 

// Trust all certificates 
ServicePointManager.ServerCertificateValidationCallback = ((Sender, certificate, chain, sslPolicyErrors) => true); 

_WsProxy = new MyDataSoapClient(Binding, EndPoint); 

//_WsProxy.Endpoint.Behaviors.Add(????); 

_WsProxy.ChannelFactory.Credentials.UserName.UserName = "username"; 
_WsProxy.ChannelFactory.Credentials.UserName.Password = "pwd"; 
+0

Youc an't - c'est vraiment un ServiceBehavior côté serveur, vraiment. Qu'est-ce que le client doit inclure les détails d'exception pour ?? Cela n'a de sens que sur le côté serveur –

+0

vous devez indiquer au serveur d'inclure les détails de l'exception dans le message lors du lancement d'un ExceptionFault. il est déjà configuré sur le serveur pour renvoyer ExceptionDetails uniquement lorsque demandé. – Anthony

Répondre

4

Je pense que vous devrez ajouter un ServiceDebugBehavior.

ServiceHost host = new ServiceHost(typeof(MyService), new Uri("http://localhost:6598/")); 
host.AddServiceEndpoint(typeof(IMyService), new BasicHttpBinding(), "MyService"); 
host.Description.Behaviors.Remove(typeof(ServiceDebugBehavior)); 
host.Description.Behaviors.Add(new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true }); 
host.Open(); 
+0

J'ai essayé cela avant de poster il attend IEndpointBehavior La meilleure méthode surchargée pour 'System.Collections.ObjectModel.Collection .Add (System.ServiceModel.Description.IEndpointBehavior)' a quelques arguments non valides – Anthony

+0

Où définissez-vous ce comportement? Dans le client? –

+0

Je pensais que cela ne peut être utilisé sur un service en utilisant le BasicHttpBinding. J'utilise CustomBinding dans mon application. J'ai fondamentalement utilisé le svcutil pour créer l'espace de noms et la classe du wsdl. Ensuite, j'utilise l'objet CustomBinding et les paramètres de configuration en fonction de ce qui a été configuré à partir de la commande svcutil. des pensées, puis-je encore utiliser votre méthode? – Anthony

Questions connexes