- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 WCF 中创建自定义 channel 以实现自定义安全协议(protocol)。不,不要逃!没那么可怕!
验证服务协议(protocol)相对简单。困难的部分是根据客户端凭据将安全信息添加到请求中。
我想做的是从我的 channel 实现中访问 ClientCredentials
对象(附加到正在使用的 ClientProxy
的对象)。通常,我会通过 Behaviors
访问它我试图到达的端点的 ServiceEndpoint
实例上的属性:
var credentials = channel.Endpoint.Behaviors.Find<ClientCredentials>();
但是,我似乎无法找到一种方法来从 channel 本身内部访问 channel 关联的服务端点 - ChannelBase
类几乎没有可用的元数据。
有没有办法获取与我的 channel 关联的端点?有没有其他方法可以在客户端访问客户端凭据?
最佳答案
标准安全通道不在内部使用 ClientCredentials
。他们改为与 SecurityTokenManager
交谈,后者由 ClientCredentials
构建。我建议使用一些反汇编程序来浏览整个实现。
通常,您的 BindingElement
应该同时构建 ChannelLister
和 ChannelFactory
并向它们传递所需的所有信息。
关于c# - 我如何使用自定义 IChannel 或 IChannelFactory 访问 ClientCredentials?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287607/
为什么 IChannelFactory 没有接口(interface)定义无参数CreateChannel() ? 混凝土ChannelFactory另一方面,类确实有一个无参数CreateChann
我正在 WCF 中创建自定义 channel 以实现自定义安全协议(protocol)。不,不要逃!没那么可怕! 验证服务协议(protocol)相对简单。困难的部分是根据客户端凭据将安全信息添加到请
我是一名优秀的程序员,十分优秀!