Tôi đang tạo ra một ServiceFactory để giành quyền kiểm soát inicialization các dịch vụ của tôi tiếp xúc thông qua IIS 7.WCF ServiceHost đã có 5 hành vi
Tuy nhiên Tôi đang ngạc nhiên bởi hành vi của ServiceHost. Mặc dù tôi có 0 file cấu hình cho dịch vụ, bất cứ nơi nào tôi khởi một ServiceHost mới, như thế này:
var host = new ServiceHost(typeof(MyService), baseAddresses);
Tiếp theo, tôi muốn thêm một số hành vi chỉ khi xây dựng đang ở chế độ gỡ lỗi:
#if DEBUG
host.Description.Behaviors.Add(new ServiceDebugBehavior());
#endif
Tuy nhiên mã này không thành công do ServiceDebugBehavior đã được áp dụng! Mặc dù tôi không có tệp cấu hình và không có thuộc tính nào được áp dụng cho lớp dịch vụ, máy chủ đã có hành vi này và 5 ứng dụng khác được áp dụng!
Đây có phải là hành vi mong đợi không? Điều gì sẽ xảy ra nếu tôi muốn tắt ServiceDebugBehavior trên bản phát hành bản phát hành?
Cảm ơn trước,
Weel Tôi không phàn nàn về hành vi mà bạn nói, như xác thực và thông tin đăng nhập dịch vụ. Tuy nhiên tôi nghĩ là lạ khi đưa DebugBehavior vào trong túi. Tôi không muốn để lộ hành vi này trên các dịch vụ sản xuất của tôi. Ngoài ra không phải là điểm có một DebugBehavior ở tất cả? Nó cho phép bạn cắm nó khi có ý nghĩa. Vậy đây có phải là hành vi được xác định trước của WCF không? –
Có, nhưng cài đặt 'IncludeExceptionDetailsInFaults' trên' ServiceDebugBehavior' bị tắt ** theo mặc định! Về mục đích, quá - đó là một điều tốt! –