[英]Why Creating new session id every time in wsHttpBinding
我正在使用以下配置使我的服务成为会话性,但是对于每个请求,wcf服务都以新的会话ID响应我。 为什么要这样,我需要使该客户端具有会话性,以便每个请求都应具有相同的会话ID
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="wsHttp">
<readerQuotas maxStringContentLength="10240" />
<reliableSession enabled="true" />
</binding>
</wsHttpBinding>
</bindings>
<services>
<service name="wcfservice.serviceclass" behaviorConfiguration="MyFileServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:51/"/>
<add baseAddress="net.tcp://localhost:52/"/>
</baseAddresses>
</host>
<endpoint address="pqr" binding="wsHttpBinding" bindingConfiguration="wsHttp"
name="b" contract="wcfservice.Iservice" />
<endpoint address="pqr" binding="netTcpBinding"
name="c" contract="wcfservice.Iservice" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyFileServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
默认情况下,打开频道时会启动一个会话,您可以在WCF的此会话中阅读有关此内容的更多信息。
由于IsInitiating参数的默认值为true,因此您的每个调用都启动了一个新会话。 在此处阅读有关它的更多信息IsInitiating和IsInitiating
因此,在您的运营合同中
[OperationContract(
IsInitiating=false,
IsTerminating=false
)]
public void MethodOne()
{
return;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.