应该是这样的:
编辑:仍然不确定这是否能满足你的需求,但可能是一个很好的起点。如果不让我知道,我会删除。
CustomBinding cb = new CustomBinding()
{
SendTimeout = System.TimeSpan.FromMinutes(1),
ReceiveTimeout = System.TimeSpan.FromMinutes(1),
CloseTimeout = System.TimeSpan.FromMinutes(1),
OpenTimeout = System.TimeSpan.FromMinutes(1),
};
HttpsTransportBindingElement a = new HttpsTransportBindingElement();
a.MaxReceivedMessageSize = 10000000;
a.MaxBufferSize = 524288;
a.BypassProxyOnLocal = true;
a.AuthenticationScheme = AuthenticationSchemes.None;
SymmetricSecurityBindingElement b = SecurityBindingElement.CreateSspiNegotiationBindingElement(true);
TextMessageEncodingBindingElement c = new TextMessageEncodingBindingElement(MessageVersion.Soap11, System.Text.Encoding.UTF8);
SecurityBindingElement d = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
d.MessageSecurityVersion = MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10;
c.ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas() { MaxDepth = 32, MaxStringContentLength = 8192, MaxArrayLength = 16384, MaxBytesPerRead = 4096, MaxNameTableCharCount = 16384 };
cb.CreateBindingElements();
cb.Elements.Add(a);
cb.Elements.Add(b);
cb.Elements.Add(c);
cb.Elements.Add(d);