none
关于wcf服务上程序中断的问题 RRS feed

  • 问题

  • System.ServiceModel.CommunicationException: 服务器未提供有意义的回复;这可能是由协定不匹配、会话过早关闭或内部服务器错误引起的。

    我的程序,服务器中循环处理一些信息,客户端提供一个取消的按钮,点击后服务器中循环退出,达到停止的目前。现在如果不取消,程序无问题,但点取消后,报出以上错误。

    我的服务是sessionful,在客户端代码不close的情况下,调用的也应该是同一个实例。请教为什么会出现以上错误,应如何解决。
    2009年12月14日 3:29

答案

全部回复

  • 经过调试我大概清楚了一点问题,因为我调用服务上内容

    client.xxx() 时,这个时候进程是阻塞在这里的,为了方便点击取消按钮,我是开了另一个线程去打开进度条与一个取消按钮。到这时都没有问题,但是一点击取消按钮,取消按钮触发某个事件的时候,这个时间client.xxx()阻塞就没有了,这个线程去执行了,按钮事件,就出这个错误了,请问如何解决才好呢?
    2009年12月14日 3:57
  • 你的WCF服务实例激活模式 是 会话模式?还是单例模式?
    长时间通道闲置,也会出现错误,你可以尝试修改InActivityTimeOut的值,在Binding的属性里。可以直接配置。

    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2009年12月14日 11:02
    版主
  • 你好,
    若要让服务实例同时处理同一session中的多个客户请求,你需要配置serviceinstancemode=persession,ConcurrencyMode=Multiple
    同时,为方便并发调用,你可以在客户端创建异步模式的proxy.
    http://msdn.microsoft.com/en-us/library/ms734701.aspx


    Mog Liang
    • 已建议为答案 Mog Liang 2009年12月18日 10:14
    • 已标记为答案 Mog Liang 2009年12月21日 2:31
    2009年12月18日 4:52