Tôi muốn đặt phiên bản tin nhắn cho WSHttpBinding thành EnvelopeVersion.Soap11. Tôi không biết làm thế nào để làm điều đó. Ai giúp tôi với. Đây là mã ràng buộc của tôiCài đặt Phiên bản tin nhắn trong mã cho máy khách WCF
var binding = new WSHttpBinding()
{
UseDefaultWebProxy = true,
Security =
{
Mode = SecurityMode.Transport,
Transport =
{
ClientCredentialType = HttpClientCredentialType.Basic
},
},
};
EDIT: đây là đoạn code để làm điều đó
TransportBindingElement transportElement = null;
transportElement = new HttpsTransportBindingElement();
((HttpsTransportBindingElement)transportElement).AuthenticationScheme = AuthenticationSchemes.Basic;
((HttpsTransportBindingElement) transportElement).KeepAliveEnabled = false;
var messegeElement = new TextMessageEncodingBindingElement
{
MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None),
ReaderQuotas =
{
MaxArrayLength = 200000,
MaxBytesPerRead = 200000,
MaxDepth = 200000,
MaxNameTableCharCount = 200000,
MaxStringContentLength = 200000
}
};
var binding = new CustomBinding(messegeElement, transportElement);
return binding;
Làm thế nào để đạt được điều này thông qua C# mã? – Amzath
@amz: bạn nên ** cập nhật ** câu hỏi ban đầu của bạn với giải pháp này; ở đó bạn có thể định dạng và trình bày chính xác nó - ở đây trong các nhận xét, đó là một sự lộn xộn .... –
Đã thêm mã nguồn vào câu trả lời – Amzath