我有一个基于TCP的服务,想通过WCF公开。该服务API类似于TcpListener类(实际上是基于它),接受TCP连接作为客户端,并通过客户端类发送和接收派生自Stream的原始对象。我想创建一个WCF包装器,利用WCF序列化功能,允许发送和接收对象。
基本契约只包含两个操作:发送和接收,格式通常是无模式的,例如JSON,但客户端可以在连接时指定协议,因此我想准备好接受其中一些协议。
它也应该与SSL一起工作。目前,当我需要使用SSL时,我必须将TcpClient.GetStream()包装在SslStream中,但性能非常差。我希望不使用这种hack方式使用我的服务,并使用WCF SSL,类似于:
基本契约只包含两个操作:发送和接收,格式通常是无模式的,例如JSON,但客户端可以在连接时指定协议,因此我想准备好接受其中一些协议。
它也应该与SSL一起工作。目前,当我需要使用SSL时,我必须将TcpClient.GetStream()包装在SslStream中,但性能非常差。我希望不使用这种hack方式使用我的服务,并使用WCF SSL,类似于:
<binding name="MyBinding">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
这是我目前的疑问:
我需要创建什么?自定义传输还是自定义绑定?
是否有任何特殊实现方式可以允许WCF跟踪/管理我的服务或客户端连接的生命周期?
谢谢。