社区
C#
帖子详情
OperationContext.Current是怎么实现的??请OOP高手解惑~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~加分了加分了
Bind
2010-11-08 01:42:52
在wcf中,自己写的services方法里可以通过调用OperationContext这个类的静态属性Current来获得当前执行的上下文信息
这明明是一个静态属性,可是在不同的类实例中却有不同的表现,也就是一种多态.
请问这是怎么设计的呢?有没有高手能讲解一下??
...全文
571
8
打赏
收藏
OperationContext.Current是怎么实现的??请OOP高手解惑~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~加分了加分了
在wcf中,自己写的services方法里可以通过调用OperationContext这个类的静态属性Current来获得当前执行的上下文信息 这明明是一个静态属性,可是在不同的类实例中却有不同的表现,也就是一种多态. 请问这是怎么设计的呢?有没有高手能讲解一下??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GavinKeng
2011-10-11
打赏
举报
回复
我觉得可能是这样的 你想一下 每个客户端来访问服务器的服务可能是开启了一个新的线程这个 OperationContext只是指这个线程下的数据
在做WCF双工的时候不是你需要把每个OperationContext保存在字典里嘛 所以可以理解为 OperationContext指的应该是一个对应客户端的管道!
Bind
2010-11-10
打赏
举报
回复
救命啊~~~~搞不懂一个问题是很难受嘀~~
Bind
2010-11-09
打赏
举报
回复
OperationContext类在命名空间 System.ServiceModel下
我自己写的类并没从任何类扩展继承而来,我直接在我的方法里访问这个OperationContext.Current静态属性就可以得到执行的上下文.
每个我的类的实例去访问System.ServiceModel.OperationContext.Current可能得到的实例是不同的.
例如两个客户端同时访问,那么对应的我的类的方法里访问OperationContext当然是不同的,怎么可能只有一个?
如果只有一个,我的类实例方法怎么可能知道是哪个客户端调用的我?
kscode
2010-11-09
打赏
举报
回复
当前的上下文实例只有一个啊,怎么会有多个实例?
Bind
2010-11-09
打赏
举报
回复
有没有人啊............................
Bind
2010-11-08
打赏
举报
回复
any body?
Bind
2010-11-08
打赏
举报
回复
up up
Operation
Context
你可以通过`
Operation
Context
.
Current
`静态属性在服务的任何地方访问当前的操作上下文。例如: ```csharp public string MyServiceMethod() { var clientIdentity =
Operation
Context
.
Current
....
WCF Extension
实现
Context
信息的传递(Artech.
Context
Propagation)
client端的culture通过SOAP header传到service端,然后通过自定义的Call
Context
Initializer设置当前方法...在client端,当前culture信息是通过
Operation
Context
.
Current
.OutgoingMessageHeaders手工至于SOAP Header中
REST服务Post创建以及调用小例子
using (var reader =
Operation
Context
.
Current
.Request
Context
.RequestMessage.GetReaderAtBodyContents()) { if (reader.Read()) { postJson = new string(Encoding.UTF8.GetChars(reader.ReadContentAsBase...
wcf双工代码
ICallback callback =
Operation
Context
.
Current
.GetCallbackChannel(); callback.ReceiveClientMessage("这是服务端的回应"); } } ``` 3. **创建客户端代理**: 使用`svcutil.exe`工具或在Visual Studio中...
WCF不使用配置文件
实现
双工通信
((ICallback)
Operation
Context
.
Current
.GetCallbackChannel(typeof(ICallback))).ReceiveData(message); } } ``` 3. **创建并打开服务主机**:使用`ServiceHost`类创建服务主机,并手动指定服务终结点和绑定。...
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章