2010-03-09 26 views
21

Tôi biết tôi có thể thêm hành vi dịch vụ với một số cấu hình XML, nhưng tôi muốn thực hiện nó với một phần C#, tương tự như cách bạn có thể thêm hành vi điểm cuối. Tôi không chắc chắn làm thế nào để làm điều đó, mặc dù.Thêm hành vi dịch vụ WCF với mã

Nói cách khác, làm cách nào để thêm hành vi gỡ lỗi mà tôi đã khởi tạo bên dưới?

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

Trả lời

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

Cảm ơn! Hóa ra tôi không thể làm .Thêm() vì hành vi đó đã ở đó. Nhưng điều này làm việc tuyệt vời: 'host.Description.Behaviors.Find (). IncludeExceptionDetailInFaults = true' –

+0

Nếu hành vi này được định nghĩa trong confituration, nhưng dịch vụ trong mã thì sao? Làm thế nào để thêm nó vào WCF máy chủ lưu trữ với mã? – FrenkyB

1

Ngoài ra bạn có thể viết một atrribute cho dịch vụ của bạn ví dụ

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class Service1 : IServiceChild 
Các vấn đề liên quan