Note that there are some explanatory texts on larger screens.

plurals
  1. POVery bad performance using WSFederationHttpBinding
    text
    copied!<p>I have very bad performance using WSFederationHttpBinding - iis process only 250 requests per second.</p> <p>Binding:</p> <pre><code>public class CustomFactoryActive : ServiceHostFactory { protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { ServiceHost host = new ServiceHost(serviceType, baseAddresses); CommonConf.ConfigureServiceHost(host); string issuerAddress = ConfigManager.ActiveSTS; string issuerMexAddress = issuerAddress + "/mex"; WSFederationHttpBinding wsFedBinding = new WSFederationHttpBinding(); wsFedBinding.Security.Mode = WSFederationHttpSecurityMode.Message; wsFedBinding.ReliableSession.Enabled = false; wsFedBinding.MaxReceivedMessageSize = wsFedBinding.MaxBufferPoolSize = Constants.MaxFileSize; XmlDictionaryReaderQuotas quotas = wsFedBinding.ReaderQuotas; quotas.MaxArrayLength = quotas.MaxBytesPerRead = quotas.MaxStringContentLength = quotas.MaxNameTableCharCount = quotas.MaxDepth = (int)Constants.MaxFileSize; var messageSecurity = wsFedBinding.Security.Message; messageSecurity.IssuedTokenType = "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1"; messageSecurity.IssuedKeyType = SecurityKeyType.SymmetricKey; messageSecurity.EstablishSecurityContext = false; messageSecurity.NegotiateServiceCredential = false; messageSecurity.IssuerAddress = new EndpointAddress(new Uri(issuerAddress)); messageSecurity.IssuerMetadataAddress = new EndpointAddress(new Uri(issuerMexAddress)); WS2007HttpBinding ws2007HttpBinding = new WS2007HttpBinding(SecurityMode.TransportWithMessageCredential); var wsHttpSecurity = ws2007HttpBinding.Security; wsHttpSecurity.Message.ClientCredentialType = MessageCredentialType.UserName;//авторизация по логину и паролю wsHttpSecurity.Message.NegotiateServiceCredential = true; wsHttpSecurity.Message.AlgorithmSuite = SecurityAlgorithmSuite.Default; messageSecurity.IssuerBinding = ws2007HttpBinding; ContractDescription contractDescription = ContractDescription.GetContract(typeof(ISignService)); EndpointAddress endpointAddress = new EndpointAddress(baseAddresses[0]); ServiceEndpoint endpoint = new ServiceEndpoint(contractDescription, wsFedBinding, endpointAddress); host.Description.Endpoints.Add(endpoint); return host; } } </code></pre> <p>My wcf test method does nothing - it simply returns 1 byte.</p> <p>But when I use simple WSHttpBinding with message security without any WIF saml tokens I get approx. 4000 requests per second</p> <p>I cant uderstand why</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload