问题标签 [wcf-binding]

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 投票
2 回答
4011 浏览

.net - 在 HttpBinding 中进行 HTTP 身份验证之前在 WCF 中操作 HTTP 标头

这与这个问题有关

我在自定义服务主机中托管此 WCF 服务。IIS 不是一个选项。

有没有办法在请求过程的早期在服务器堆栈中注入 HTTP“Authenticate”标头(如果它丢失) - 这样可以将默认用户传递到我为匿名请求设置的身份验证/授权过程中?

我需要服务器在接收端注入这个 - 在进一步的 WCF 处理之前......

我很确定我可以使用自定义 BindingElement 或通过扩展 WebHttpBinding 来做到这一点,但任何示例或指导将不胜感激。我在 WCF 中找不到任何早期标头操作(预身份验证)的示例。

0 投票
4 回答
5283 浏览

wcf - 您如何配置 WCF 以支持使用 net.pipe 的主机和客户端在同一进程中的 FaultContract?

我正在尝试使用 net.pipe 绑定为我的服务与客户端交互创建一个进程内单元测试。与良好的 WCF 服务一样,它在服务操作上使用 FaultContractAttribute 将可能的错误(包装异常)暴露给元数据。我想通过 XML (App.config) 配置客户端和服务端点。 但是,每当抛出错误时,它只是一个 CommunicationException“管道已关闭”,而不是我所期望的类型错误。

我尝试为 net.pipe 添加 IMetadataExchange 端点,但这不起作用。我也试过了。在 Vista 上需要我为 http 端点 netsh 的 ACL。那也没有用。

自定义异常类:

这是配置的最新尝试,但它抽出“在服务实施的合同列表中找不到合同名称'IMetadataExchange'”

任何有关如何完成此操作的示例或建议的链接将不胜感激。

0 投票
3 回答
94005 浏览

wcf - 超时 WCF 服务

超时如何在 WCF 中工作?例如,我知道您可以为客户端绑定配置sendTimeoutreceiveTimeout。但它们是如何工作的?

MSDN 将sendTimeout描述为:

一个 TimeSpan 值,它指定为完成发送操作提供的时间间隔。此值应大于或等于零。默认值为 00:01:00。

什么是发送操作/接收操作?

0 投票
4 回答
9639 浏览

.net - WCF 绑定 - 太多了!我该如何选择?

我们有一个R 服务器 (R 是一种用于统计分析的编程语言),它基本上接受一个脚本和一个 csv 文件,处理一些数据并以文本形式返回结果。

我需要在 R 服务器上编写一个服务,以便 .net 客户端(可以是 .Net Windows Forms 或 ASP.Net)可以连接到 R 服务器,提交脚本和 CSV 文件,然后取回结果。

我对可用的许多不同绑定感到困惑,并且网络上的信息似乎很少/分散关于选择哪个绑定。

另外,最好是在 IIS 中运行该服务,还是作为单独的“命令行”类型的侦听器服务(后者与 IIS 相比看起来很难看,我不知道如果他们可以在 IIS 中运行它,为什么有人会选择这样做)?

0 投票
2 回答
4225 浏览

.net - 负载均衡器后面的 WCF - 如何设置

我们有几个使用负载均衡器的 Web 服务器。机器在端口 81 上运行 IIS6。在外部,站点可使用端口 80 访问。机器的外部名称和名称不同。

我们得到

web.config 的相关部分是:

我们尝试添加listenUri,但这并没有解决我们的问题。

有任何想法吗?

0 投票
10 回答
106318 浏览

.net - WCF 错误:调用者未通过服务的身份验证

我正在尝试从我的客户端控制台应用程序访问服务器上的 WCF 服务以进行测试。我收到以下错误:

调用者未经服务验证

我正在使用wsHttpBinding. 我不确定该服务需要什么样的身份验证?



更新 如果我<endpoint "basicHttpBinding" ... />在托管的 IIS 7.0、windows 2008 服务器上将绑定更改为(从 wsHttpBinding),它就可以工作

0 投票
1 回答
2201 浏览

vb.net - WCF 服务器/客户端连接处理

我的 WCF 服务器和客户端连接存在一些问题。

如果我正常使用我的服务和客户端,这意味着我的客户端通过正常操作(myclient.Close())连接和断开连接一切正常。但是在我让服务器运行并且我使用 Visual Studio“停止”按钮退出我的客户端应用程序的情况下,我的服务器和客户端通信似乎搞砸了,服务器没有正确清理连接和任何新连接来自我的客户的非常不稳定,只有某些函数调用才能工作,直到一个函数抛出异常:

System.ServiceModel.CommunicationException:接收对http://localhost:8080/Design_Time_Addresses/Service_Beta1/Service的 HTTP 响应时发生错误。这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务关闭)。有关更多详细信息,请参阅服务器日志。---> System.Net.WebException:底层连接已关闭:接收时发生意外错误。

在那之后还有许多其他例外,我会让你免于阅读这些。

如果我关闭服务器和客户端并重新启动两者,我的所有调用都可以正常工作,直到我在 Visual Studio 中进行剧烈的“停止”。如何强制服务器清理不正确关闭的连接?我知道在生产中“停止”按钮消失了,理论上不应该有问题,但我不想因为客户端崩溃或断开连接而出现服务器连接问题。因为不可避免地会有这些情况。最好在有 20 多个客户端尝试连接并获取异常之前解决此问题。

谢谢

0 投票
1 回答
1346 浏览

wcf - 具有多个端点和并发处理的 msmq

我已经构建了一个 WCF 负载平衡器/路由器,以有条件地将任何单向服务路由到多个端点,所有端点都使用 MSMQ 绑定。我还创建了一个主机,它使用路由器中的所有端点来接受服务调用。所有端点都指定相同的合同。

我需要同时处理每个队列(端点),但要按顺序处理每个服务调用。

我尝试过使用 InstanceContextMode = InstanceContextMode.Single 和 ConcurrencyMode = ConcurrencyMode.Single 但这只能让我使用单个实例来处理我的所有端点。InstanceContextMode = PerCall 不保证我需要的顺序。
我需要的是每个端点的单个服务实例,它将同时运行。

我还尝试了使用 ServiceBehavior 的各种排列

我将如何使用 MSMQ 绑定通过 WCF 完成此任务?

0 投票
3 回答
16591 浏览

.net - 如何在 WCF 中自动重新连接命名管道绑定

我正在编写一个只会从本地主机接听电话的服务。性能很重要,所以我想我会尝试使用NetNamedPipeBinding而不是NetTcpBinding,看看是否能看到任何明显的性能提升。

如果客户端在向服务器执行了一个或多个请求后,长时间处于空闲状态,则下一个请求似乎由于绑定中的一些空闲超时而失败。重新启动服务时也会发生同样的事情。

我需要我的客户能够在允许的时间内保持连接打开,以避免与设置新连接相关的开销。我还需要能够不时重新启动服务,并让客户端在注意到连接已终止时自动重试。

我知道 NetTcpBinding 中的可靠性内容支持这一点,但是如何在 NetNamedPipeBinding 中获得相同级别的重新连接可靠性?甚至可能吗?

这个问题有点学术,因为它不是使用 NetNamedPipes 的要求,我可以很容易地采用它来使用 tcp 绑定,但它很痒,我真的很想从头开始。

0 投票
34 回答
374530 浏览

wcf - 找不到默认端点元素

我已将代理添加到 VS2008/.NET 3.5 解决方案的 Web 服务。构建客户端 .NET 时会引发此错误:

在 ServiceModel 客户端配置部分中找不到引用合同“IMySOAPWebService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

搜索这个错误告诉我在合同中使用完整的命名空间。这是我的 app.config 与完整的命名空间:

我在本地运行 XP(我之所以提到这一点,是因为许多谷歌点击提到了 win2k3) app.config 被复制到 app.exe.config,所以这也不是问题。

有什么线索吗?