2010-03-09 3 views
21

Ich weiß, dass ich Dienstverhalten mit einigen XML-Konfiguration hinzufügen kann, aber ich möchte es mit einem Stück C# tun, ähnlich, wie Sie Endpunktverhalten hinzufügen können. Ich bin mir nicht sicher, wie ich das machen soll.Hinzufügen von WCF-Dienstverhalten mit Code

Mit anderen Worten, wie kann ich das Debug-Verhalten hinzufügen, das ich unten instanziiert habe?

var host = new ServiceHost(typeof(MyService)); 
var endpoint = host.AddServiceEndpoint(typeof (MysService), 
    new WebHttpBinding(), new Uri(myURL)); 
endpoint.Behaviors.Add(new WebHttpBehavior()); 
var debug = new ServiceDebugBehavior 
{ 
    IncludeExceptionDetailInFaults = true 
}; 
//WHAT DO I PUT HERE? 
host.Open(); 

Antwort

31
host.Description.Behaviors.Add(debug); 
+5

Vielen Dank! Es stellt sich heraus, dass ich .Add() nicht tun konnte, weil dieses Verhalten bereits vorhanden ist. Aber das funktionierte großartig: 'host.Description.Behaviors.Find (). IncludeExceptionDetailInFaults = true' –

+0

Was ist, wenn dieses Verhalten in der Konfirmation definiert ist, aber Dienst im Code? Wie fügt man es mit Code zu WCF-Host hinzu? – FrenkyB

1

Sie können auch einen atrribute für Ihren Dienst schreiben z.B.

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class Service1 : IServiceChild 
Verwandte Themen