如何检测wcf服务端的绑定

2023-12-13

假设我有一个 WCF 服务,其中多个端点具有不同类型的绑定,如 tcp、basichttp、wshttp 等。

<endpoint address ="" binding="wsHttpBinding"
                contract="NorthwindServices.ServiceContracts.ICustomerService"
                bindingNamespace = "http://dotnetmentors.com/services/customer" />
    <endpoint address="mex" binding="mexHttpBinding" 
                 contract="IMetadataExchange"/>

    <endpoint address ="" binding ="netNamedPipeBinding" 
                contract ="NorthwindServices.ServiceContracts.ICustomerService"
                bindingNamespace = "http://dotnetmentors.com/services/customer"  />
    <endpoint address="mex" binding="mexNamedPipeBinding" 
                 contract="IMetadataExchange"/>

因此客户端可以使用具有不同绑定的任何端点来调用我的服务。当客户端进行调用以及请求何时发送到服务端时,我如何以编程方式检测正在使用哪个绑定客户端...是 tcp、basichttp、wshttp 吗?

因此,请指导我使用代码示例,帮助我从服务中检测正在使用哪个协议和绑定客户端。谢谢


你到底为什么关心这个?总的来说,您的服务确实不应该关心客户端用于访问服务的绑定,如果这会影响服务行为(在这种情况下,拥有多个单独的服务可能确实更有意义)。

也就是说,我认为一种可能的方法是查看服务的端点地址,我认为您可以使用类似这样的东西(未经测试):

var opCtxt = OperationContext.Current;
var epAddress = opCtxt.EndpointDispatcher.EndpointAddress;
var uri = epAddress.Uri;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测wcf服务端的绑定 的相关文章

  • 使用 ContractNamespace 属性设置 WCF DataContract 命名空间

    在设计我的服务时 我决定要自定义出现在生成的 WSDL 中的名称空间 对于数据合同 我遇到了合约命名空间 http msdn microsoft com en us library system runtime serialization
  • 从一个客户端使用多个 WCF 服务

    我的网络场有 10 台运行 IIS 的服务器 在每台服务器上我都有相同的网站和相同的 WCF 服务 它公开了一些用于读取 删除缓存 会话 应用程序变量和其他内部数据的功能 在其他一些 Web 服务器上 我有一个 管理 Web 应用程序 它是
  • 自定义行为的配置错误

    我创建了一个与 WCF 服务一起使用的自定义行为 以将所有错误记录到应用程序日志中 我做了一个BehaviorExtensionElement对于行为 public ErrorLoggingBehaviorExtensionElement
  • 没有端点在 net.pipe://localhost/ 上监听

    我有两个 WCF 服务托管在 Windows Server 2003 计算机上的单个 Windows 服务中 如果 Windows 服务需要访问任一 WCF 服务 例如发生定时事件时 它将使用公开的五个命名管道端点之一 不同的服务协定 该服
  • WCF - AsyncPattern=true 或 IsOneWay=true

    我的 WCF 服务中很少有方法需要花费大量时间 生成报告和发送电子邮件 根据目前的要求 要求客户端应用程序只需提交请求 然后不等待整个过程完成 它将允许用户继续在客户端应用程序中执行其他操作 而不是等待整个过程完成 我很困惑该走哪条路 As
  • WCF 服务中的“即发即忘”

    我在 Azure 上有很多 WCF REST 服务 在某些 WCF 服务中 我向外部服务调用 Http 请求 例如发送电子邮件 短信 对非关键第三方服务的 http 请求 我不希望这阻碍我对客户电话的响应 需要一些关于在这种情况下使用的模式
  • 通过代理服务器连接到 WCF 服务时出现奇怪的异常

    例外 相对 URI 不支持此操作 发生在以下情况 我有一个 WCF 服务 ServiceContract ProtectionLevel ProtectionLevel None public interface IMyService Op
  • 使用 WCF 支持“application/x-www-form-urlencoded”发布数据的最佳方式?

    我正在基于 W3C 规范构建 WCF 服务 该规范定义了接受 application x www form urlencoded 发布数据的 RESTful Web 服务端点 默认情况下 WCF 不支持这种类型的消息编码 我发现了许多创建如
  • 异步WCF调用来保存线程?

    In 另一个问题 https stackoverflow com q 19731600 279516 建议我发送异步网络请求 而不是在后台线程上发送同步请求 原因是为了不浪费一根线 我试图理解这是怎么回事 这是最初的做法 我可以理解这里怎么
  • WCF服务健康状况监控

    我刚刚实现了 WCF 服务 目前正在研究服务监控选项 我们的服务器团队目前仅托管 java 服务 希望我们的实例始终运行 因此它可以在该实例的生命周期内收集数据 他们表示将使用我们的 webmon 操作之一来获取统计信息 但我们正在使用每次
  • WCF 缓存解决方案 - 需要建议

    我工作的公司正在寻求实施缓存解决方案 我们托管了多个 WCF Web 服务 并且需要缓存某些可以持久保存和获取的值 无论客户端与服务的会话如何 我正在研究以下技术 缓存应用程序块 4 1 使用 HttpRuntime 缓存的 WCF TCP
  • 使用 SOAP 调用 WCF 服务

    我正在尝试在不创建 WCF 客户端的情况下测试 WCF 服务 我有类似的代码 问题here https stackoverflow com a 1643025 1397017 我希望完全控制 SOAP 负载 因此我希望能够发出我自己的 We
  • 还有其他原因说明我应该考虑忽略发出默认值是一种不好的做法吗?

    我已经使用 WCF 一段时间了 并且在客户端和服务器倾向于共同发布的地方 也就是说 新版本几乎总是同时发布 互操作性和版本控制不是问题 至少在这种情况下 MSDN 文档 DataMemberAttribute EmitDefaultValu
  • 多个 WCF 服务实现相同的服务契约接口

    多个wcf服务是否可以实现同一个服务契约接口 我想要做的是允许测试服务与真实服务互换 并指定在配置文件中使用哪个服务 例如 ServiceContract public interface IUselessService Operation
  • WCF 与 WebAPI 和本机移动设备

    我一直在开发一个完全基于 ajax 的单页 Web 应用程序 无 POST 现在我在开发过程中使用 ASMX 来提供 Web 服务 Web 服务使用 JSON 数据 对于该版本 我知道我需要升级到 WCF 或 WebAPI 最终 我计划构建
  • 将 .NET 类库(主要定义 CRUD 操作)公开为服务

    公开现有内容的最佳 有效和最快的方法是什么 类 图书馆 主要定义 CRUD 操作 作为service 周转基金服务 or WCF数据服务 以便它可以与银光 or Ajax 在那儿tools 代码生成器 RAD 工具 哪些可以支持这个 预先感
  • 从 OperationContext 获取 SOAP 标头中的值

    我有以下代码C 寻找一个apiKey在下面的SOAP header SOAP 标头
  • WCF 回调通道被过早处置?

    我的应用程序正在使用带有回调通道的 net tcp WCF 服务 由于某种原因 我无法发送事件回调 这就是我正在做的事情 所有代码都在服务器端 初始化时 OperationContext Context get protected set
  • 如何在2.0构建的应用程序中使用WCF wsHttpBinding服务?

    WCF 服务正在使用 wsHttpBinding 绑定运行 将使用 WCF 服务的应用程序不符合 WCF 或者换句话说 它位于 Framework 2 0 之上 我无法在此应用程序中使用 ServiceModel 因为只有 3 5 支持 S
  • 从 WCF 服务返回接口

    我有一些 NET 远程处理代码 其中在某些服务器端类中实现的工厂方法返回具体对象的接口 也在同一台服务器上执行 NET 远程处理会自动创建代理 并允许我将接口传递给客户端 然后客户端可以直接调用它们 接口示例 public interfac

随机推荐

  • WPF ItemsControl 按钮命令绑定不起作用

    我有一个 ItemsControl 控件 其 ItemsSource 为 ObservableCollection 它的 DataTemplate 内部还有一个按钮 按钮的 Command 属性绑定到 ViewModel 中的 RelayC
  • ionic firebase - TypeError:Object(...) 不是 Firebase.getToken 中的函数

    我正在遵循一个小教程来安装和使用 firebase 但我什至无法通过我必须做的部分 this firebase getToken then token gt error gt 因为我有这个错误 类型错误 Object 不是函数 在 Fire
  • PCL 库的 PCLConfig.cmake 和 pcl-config.cmake 文件的位置

    我使用以下命令安装了 PCL sudo add apt repository ppa v launchpad jochen sprickerhof de pcl sudo apt get update sudo apt get instal
  • 使用 pd.read_clipboard 复制数据帧时如何处理自定义命名索引?

    鉴于其他问题的数据框 Constraint Name TotalSP Onpeak Offpeak Constraint ID 77127 aaaaaaaaaaaaaaaaaa 2174 5 2027 21 147 29 98333 bbb
  • 使用 Google 帐户 UserService 时如何更新 App Engine 应用程序名称

    我有一个现有的 App Engine Java 应用程序 我们使用用户服务用于对我们的用户进行 Google 帐户身份验证 We d like to update the Application name that shows up on
  • 是否有与 XmlWriter.WriteRaw 等效的 XElement?

    我正在转换一些当前使用的代码XmlWriter创建一个文档来代替返回XElement的内容 到目前为止 我很喜欢以模仿文档结构的方式构建代码 但有些内容是使用XmlWriter WriteRaw以避免重新 xml 化 xml 我在中找不到任
  • 为Web应用程序自定义工作目录运行gradle运行任务/项目结构

    我正在开发小型网络应用程序 我想提供静态文件 我在用着application插入 其中一部分是distribution复制的插件src main dist文件放入发行版 zip 中 运行应用程序gradlew run使用项目目录作为工作目录
  • 如何在具有 Oreo 及以上操作系统的 Android 设备中从 uri 获取文件路径

    要使用 Intent 选择音频文件 我正在使用此功能 fun selectAudioFromStorage val pictureActionIntent Intent Intent ACTION GET CONTENT null pict
  • 通过MATLAB连接postgresql数据库报错

    我正在尝试在 MATLAB 中连接我的 Postgres 数据库 但它向我抛出一个错误 指出 JDBC Driver Error org postgresql Driver Driver Not Found Loaded 这是我使用过的连接
  • 3d 矩阵转 2d 矩阵 matlab

    我使用的是Matlab R2014a 我有一个 3 维 M x N x M 矩阵 A 我想要一种矢量化方式从中提取 2 维矩阵 B 这样对于每个 i j 我有 B i j A i j g i j 其中 g 是大小为 M x N 的二维索引矩
  • Println 改变切片的容量

    考虑下面的代码 package main import fmt func main x byte a fmt Println x fmt Println cap x cap byte a prints false y byte a fmt
  • iOS 如何下载大文件?

    我正在尝试通过 HTTP 请求从 Web 服务器下载文件 gt 40MB 为此 我使用了苹果提供的 SimpleURLConnection 示例 在该示例中 他们只下载图像文件 因此我修改了代码以下载 pdf 文件并将其存储在应用程序的文档
  • 将所有内容与页面底部对齐?

    我正在尝试将 html 页面与浏览器窗口的底部对齐 这是我的方法 div class outer wrapper div outer wrapper min height 950px width 100 position absolute
  • 动态创建的单选按钮列表

    有一个母版页 内容页面有一个包含请求变量的超链接列表 您单击其中一个链接即可转到包含单选按钮列表的页面 也许 第一个问题 当我到达新页面时 我使用其中一个变量来确定是否将单选按钮列表添加到页面上的占位符中 我尝试在 page load 中执
  • 从 mysqli 更改为 pdo

    我对这段代码没有问题 它出奇地工作正常 但我真的不明白它是如何工作的 甚至不明白它是否正确 所以 我对 mysqli 进行 ajax post 或 get 调用的查询如下 con mysqli connect localhost root
  • Lisp中最长的元素链

    语句 找出最长的字符链并返回 例如 输入 1 2 2 3 3 3 4 4 4 4 5 6 输出 4 4 4 4 问题 我可以设法识别列表中的所有不同组并比较它们 但无法让函数返回正确的子集列表 它仅返回最后分析的组 code define
  • 使用 JSOUP 登录 ConEd 网站

    我已经广泛阅读了有关如何做到这一点的内容 并且尝试了许多不同的变体 但我无法让它发挥作用 基本上 我只想登录 ConEdison 网站并抓取我的账单历史记录 这是我所拥有的 Connection Response loginForm Jso
  • 在 django - python 中按名称搜索选择字段

    我在模型中有以下选择字段 STATUS REVIEW RISK ESTIMATE CHOICES 0 High 1 Medium 2 Low class SiverifyProblemStatement models Model risk
  • Bigquery在单个选择中多次取消嵌套

    对此进行跟进 Bigquery 组合来自 2 个不同表的重复字段 ElliottBrossard 的上述解决方案正是我所寻找的 谢谢 我需要从上面取消嵌套字段以获取学生的聚合 比如说 有一个额外的成本字段 每门课程 例如假设上面的输出在st
  • 如何检测wcf服务端的绑定

    假设我有一个 WCF 服务 其中多个端点具有不同类型的绑定 如 tcp basichttp wshttp 等