2010-03-09 14 views
21

Sé que puedo agregar comportamientos de servicio con alguna configuración XML, pero me gustaría hacerlo con un C#, similar a cómo se pueden agregar comportamientos de punto final. Aunque no estoy seguro de cómo hacerlo.Añadiendo comportamientos de servicio WCF con el código

En otras palabras, ¿cómo puedo agregar el comportamiento de depuración que he instanciado a continuación?

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(); 

Respuesta

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

¡Gracias! Resulta que no pude hacer .Add() porque ese comportamiento ya está allí. Pero esto funcionó muy bien: 'host.Description.Behaviors.Find (). IncludeExceptionDetailInFaults = true' –

+0

¿Qué pasa si este comportamiento se define en la confusión, pero el servicio en el código? ¿Cómo agregarlo al host WCF con código? – FrenkyB

1

También puede escribir un atrribuya por su servicio, por ejemplo,

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class Service1 : IServiceChild 
Cuestiones relacionadas