zoukankan      html  css  js  c++  java
  • “WCF访问死锁”问题及解决

    一  现象

    出现服务调用久未返回,VS提示“deadlock”之类的异常信息。

    二  原因分析

    属于服务并发管理,包含以下2种:

    1、客户端回调死锁

    修改客户端回调实现的回调行为的并发模式

    [CallbackBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)]
    private class Client : IVisitorServiceClient
    {
    	//哒哒哒...
    }


    也可采用将回调接口的操作行为设为“IsOneWay=true”

    [ServiceContract]
    interface IVisitorServiceClient
    {
    	[OperationContract(IsOneWay=true)]
    	void SayHelloCalllBack();
    }


    采用哪种方式视实际需求而定。


    2、服务端服务死锁

    修改服务实现的服务并发访问模式

    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Multiple)]
    public class VisitorService : IVisitorService
    {
    	//哒哒哒...
    }


    勉強心を持てば、生活は虚しくない!
  • 相关阅读:
    gvim : invalid input string
    端口
    Sequence Overview
    vi的使用
    Ubuntu安装CodeBlocks相关问题总结
    中断
    Ubuntu Software Repository
    UVA 12299 RMQ with Shifts
    UVA 12293 Box Game
    POJ 3468 A Simple Problem with Integers (1)
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377306.html
Copyright © 2011-2022 走看看