Transfer--->拨打XXXXX号码--->触发EndPointLister线程的EnterRequest事件处理,该处理把拨入的号码转入一个特定会议。
对于会议操作者Agent1 ,此时想要实现的是该事件把当前拨入的号码转入一个比如说conference.name="A"的conference会议。
Agent1与conference.name="A"的conference会议没有任何关联,我的意思是指此时conference只是一个标识了conferenceName的某一个conference实例。
对于会议操作者Agent2 ,此时想要实现的该事件把当前拨入的号码转入一个conference.name="B"的conference会议。
Agent2与conference.name="B"的conference会议也没有任何关联。即Agent与会议对象没有任何关联。
现在的问题是当Agent1和Agent2同时登录,如果Transfer--->拨打XXXXX号码--->触发了EnterRequest事件处理,此时可能
1 把当前拨入的号码转入一个conference.name="A"的conference会议
2 把当前拨入的号码转入一个conference.name="B"的conference会议。
两个结果都可能被执行。也就是
两个实例不传EventArgs参数,同时触发Event,希望得到不同的处理的方法(实例不与处理方法中的某个参数或者对象关联)
请问此时我该怎么去控制呢?各位有什么比较好的方法没有。
有一个事件监听并处理的线程(监听某一个已经注册好的事件)的函数,现在因为系统架构的原因,要用web进行包装调用,
但是这里这个函数不好调用,因为不知道监听事件的回收线程(这个线程是不可控的),不能像webService那样直接调用
webservice方法,因为webservice方法是一次调用的(HTTP无状态链接),调用完后还是那个状态可以再次调用,
而我这里的这个函数调用后启动了另一个事件线程,并且这个线程是不可控的,就是不能明确判断何时收回,只能通过调用
或者不调用我这里的这个函数才能进行事件状态的变换。
请各位帮帮忙,要用web进行包装调用,该怎么做呢 ?
我要调用的函数关键代码:
事件监听myConferenceEndPointListener;
OperationFactory factory = m_connection.getOperationFactory();
MyConferenceEndPointListener myConferenceEndPointListener = new MyConferenceEndPointListener(factory);
sampleConference.addEndPointListener(myConferenceEndPointListener);
。。。监听到EnterRequest事件执行下边一个方法函数 m_BridgeFunctions.processEnterRequest(m_EndPoint);
这个问题通用一点就是 webservice包装后怎么调用那种带线程的并且不能控制收回线程的方法。
这个问题我相信一定值得大家去思考的。