问题标签 [mex-bindings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1288 浏览

wcf - WCF mex 太大

我有一个超过 16k 读者配额的 mex 绑定。我知道如何增加 basicHttpBindings 的大小,但 mexHttpBinding 不允许同样增加缓冲区大小等。

我不能只是将服务分解为更小的服务。因为我们的网站必须处理请求,即使我们的生产服务器处理业务逻辑和数据处理,由于只有 IIS6,我们不得不编写自定义路由服务。

任何人都可以提出一个解决方案来增加 mex 文件允许的大小吗?

这是实际的错误:

错误:无法从http://localhost:8021/mex获取元数据如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅位于http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange Error URI: http://localhost:8021/mex Metadata contains a reference的 MSDN 文档无法解决:' http://localhost:8021/mex'。XML 文档中存在错误 (1, 148711)。读取 XML 数据时已超出最大可命名字符计数配额 (16384)。nametable 是一种数据结构,用于存储在 XML 处理过程中遇到的字符串 - 具有不重复元素名称、属性名称和属性值的长 XML 文档可能会触发此配额。可以通过更改创建 XML 阅读器时使用的 XmlDictionaryReaderQuotas 对象的 MaxNameTableCharCount 属性来增加此配额。第 1 行,位置 148711.HTTP GET 错误 URI:http://localhost:8021/mex 下载“ http://localhost:8021/mex ”时出错。请求失败,HTTP 状态为 400:错误请求。

0 投票
2 回答
1365 浏览

wcf - 未注册 excel 的 WCF Moniker 中的“未找到接口”

我正在尝试将 excel 连接到 WCF 服务,但我似乎无法让一个微不足道的案例工作......当我尝试在 excel 中创建代理时出现无效的语法错误。我已将 Visual Studio 调试器附加到 Excel,并发现真正的错误是“找不到接口”。我知道该服务有效,因为由 Visual Studio 创建的测试客户端没问题……所以问题出在 VBA 名字对象字符串中。

我希望找到两件事之一:

1)对我的名字字符串进行更正以使这项工作正常进行,或者

2) 要下载的现有示例项目,该项目具有有效的主机和客户端的源代码。

这是我的 VBA 客户端的代码:

我有以下服务:

它有以下配置文件:


编辑:

对我有用的更新绰号如下

0 投票
2 回答
655 浏览

wcf - WCF:在 VS2010 中自动禁用 MEX 从 DEBUG 到 RELEASE 构建?

当安装了我们产品的 RELEASE 版本时,我的代码会自动阻止故障信息流向客户端。我想知道是否有一种聪明的方法可以让 MEX 元数据在我们的 RELEASE 版本中不可用。这是我为自动禁用故障信息所做的工作,我在以下链接中找到了这些信息: http: //codeidol.com/csharp/wcf/Faults/Fault-Contracts/

0 投票
1 回答
16367 浏览

wcf - 如何强制 net.tcp mex 端点 (mexTcpBinding) 参与端口共享?

我有一个作为 Windows 服务托管的 WCF 服务。我们希望在同一地址启用一个 mex 端点(但带有“/mex”后缀)。我一直在尝试使用以下配置执行此操作(未成功):

当它运行时,服务主机会抛出一个AddressAlreadyInUseException抱怨“IP 端点 0.0.0.0:808 上已经有一个侦听器”。这对我来说实际上是有意义的,因为端口共享服务已经打开了该端口,以便为MyService端点以及任何其他请求在这台机器上共享该端口的服务提供服务。

所以看起来 mex 端点想要独占访问端口 808。我可以通过像这样调整 mex 端点来解决这个问题:

这意味着 mex 端点现在拥有自己的专有端口。这样做的缺点是任何其他想要公开 mex 端点的服务也需要一个唯一的端口用于它的 mex 端点。这使得在寻找 mex 端点时变得非常不可预测。

有没有办法强制 mex 端点参与端口共享?

0 投票
1 回答
610 浏览

wcf - 元数据交换问题 - 方法数量的限制?

我有一个 WCF 服务公开了一些 34 方法。直到今天,元数据交换使用MetadataExchangeClient工作得很好,但突然我开始收到以下异常:

元数据包含无法解析的引用:http://localhost:1150/service.svc?wsdl=wsdl0

最“有趣”的一点是,如果我在服务合同中注释掉一些方法(无论是哪一个),从而使服务暴露的方法更少,我就能恰到好处地获取元数据。设置web.config读取

所有名称都是命名空间限定的,并且在公开 15 个方法时一切正常。每当我尝试公开更多内容时,无论是哪一个,我都会得到那个例外。我究竟做错了什么?

0 投票
2 回答
1623 浏览

wcf - 在没有 mex 绑定的情况下引用 WCF 服务

我想知道 Visual Studio 中的客户端项目如何引用没有 mex 绑定的 WCF 服务。每当我删除任何示例 WCF 服务中的默认 mex 绑定时,客户端应用程序都找不到该服务,并且在自动生成的评论中,建议在生产环境中删除 mex 绑定。那么客户端应用程序应该如何找到服务并引用它呢?

0 投票
1 回答
1027 浏览

c# - 将 WCF NetTcpBinding 设置为仅接受本地连接时出错

我正在尝试设置一个只接受来自自身的传入消息/连接的 WCF 服务。

我已经能够成功创建服务并运行它并使用此代码与其通信以创建 WCF 端点(不仅限于本地主机)

一旦我添加此行以限制来自本地主机的连接

我得到了这个例外

System.ServiceModel.AddressAlreadyInUseException:IP 端点 0.0.0.0:19852 上已经有一个侦听器。如果有另一个应用程序已经在侦听此端点,或者您的服务主机中有多个服务端点具有相同的 IP 端点但绑定配置不兼容,则可能会发生这种情况。---> System.Net.Sockets.SocketException: 每个套接字地址(协议/网络地址/端口)通常只允许使用一次

我什至不确定我在做什么是限制 WCF 访问的正确方法,但显然它不起作用。对我来说,这看起来像是与 MEX 端点的某种冲突。据我所知,我需要 mex 端点,所以我无法摆脱它。有人指出我的解决方案的方向吗?