wcf 中nettcp使用x509证书,当IsOneWay=false 时出错

ywscr0000 2015-10-22 11:45:07
接口定义

[ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(IDataSourceCallback))]
public interface IDataSource : IClientRegisterServices
{
[OperationContract(IsOneWay = true)]
void IsOnLine();

[OperationContract(IsOneWay = false)]
void IsOnLineNoOneWay();
}


服务端代码

public void IsOnLine()
{
}
public void IsOnLineNoOneWay()
{
}

客户端代码

public class DataSourceScDuplexClient : DuplexClientBase<IDataSource>
{
public void IsOnLine()
{
if (Channel != null) Channel.IsOnLine();
}

public void IsOnLineNoOneWay()
{
if (Channel != null) Channel.IsOnLineNoOneWay();
}
}

客户端调用

DataSourceScDuplexClient client=new DataSourceScDuplexClient();
client.IsOnLine(); //=> 工作正常
Console.WriteLine("DataSourceScDuplexClient IsOnLine");

client.IsOnLineNoOneWay(); //=> 错误。等待约1分名钟后提示:请求操作在配置的超时(00:01:00)内未收到回复。分配给此操作的时间可能已经是更长超时的一部分。这可能由于服务仍在处理操作或服务无法发送回复消息。请考虑增加操作超时(将通道/代理转换为 IContextChannel 并设置 OperationTimeout 属性)并确保服务能够连接到客户端。
Console.WriteLine("DataSourceScDuplexClient IsOnLineNoOneWay");
...全文
185 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧