问题标签 [basichttpbinding]

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 回答
1058 浏览

silverlight - WCF MaxReceivedMessageSize 在 web.config 中更改时不会更新

我在网上四处张望,这个问题的解决方案似乎都不适合我。我有一个被 Silverlight 应用程序使用的 WCF 服务。在我尝试更新大型对象图之前,一切正常。我的跟踪日志以可爱的错误迎接我:

已超出传入邮件 (65536) 的最大邮件大小配额。要增加配额,请在适当的绑定元素上使用 MaxReceivedMessageSize 属性。

我已经更改了 web.config 文件和 Silverlight 的 ClientConfig 文件中的设置,甚至尝试手动创建代理并在代码中设置值。

我的 web.config:

我的银灯:

有人看到我在这里错过了什么吗?我在网上找到的所有内容都指出有人忘记设置 maxReceivedMessageSize 或忘记给端点一个 bindingConfiguration 名称值(我已经完成了这两件事)。

0 投票
2 回答
8455 浏览

wcf - basicHttpBinding、webHttpBinding 和 mexHttpBinding 端点如何共存于一个 WCF 服务中

我有一个 WCF 服务(目标 .NET 4),我需要公开 4 个端点:SOAP、POX、JSON 和 MEX。

我的配置文件如下所示:

当我运行该服务时,WCF 测试客户端返回的服务msg无法添加System.NullReferenceException-对象引用未设置为对象的实例和堆栈跟踪:

但是 JSON 和 POX 端点是可访问的并且工作得很好。另一方面,当我从配置中将它们注释掉时,WCF 测试客户端会正确显示 SOAP 服务。

目前,服务中只实现了一种简单的方法:

为什么我要通过添加 pox 和 json 端点来制动 mex 端点?

0 投票
1 回答
479 浏览

.net - WCF 代理客户端单例模式性能

在性能方面,使用单例模式在 WCF 中设计代理客户端,还是每次创建对象并在调用后关闭它会更好吗?

0 投票
1 回答
1651 浏览

wcf - netTcpBinding/BasicHttpBinding

有人可以帮助 netTcpBinding 与 BasicHttpBinding 之间的主要区别是什么吗?

在我当前的项目中,我们将 BasicHttpBinding 转换为 netTcpBinding 并出现性能问题,即使 BizTalk 中的值设置为 1:00:00,它也会开始超时。我们不知道为什么?

0 投票
1 回答
447 浏览

wcf - WCF Soap Web 服务和身份验证

我正在创建一个使用 basicHttpBinding(SOAP) 的 WCF 服务。我希望对网络服务的每个请求都需要一个帐户名和一个密钥,本质上是一个用户名和密码。目前,这些值作为参数传递给每个公开的方法。这是处理这种情况的正确方法吗?它似乎违反了 DRY,我猜有一种更简单的内置方式。我已经看到了一些通过拦截请求将用户名和密码插入标头的示例,但这种方法似乎为客户端连接增加了相当多的工作量。

谢谢!

0 投票
1 回答
2308 浏览

asp.net - 从 ASP.NET 将 Windows 标识传递给 WCF

我有一个托管在 IIS 中的 WCF 服务,启用了集成的 Windows 身份验证并禁用了匿名身份验证。当我尝试从 ASP.NET 调用此服务时,我收到以下 MessageSecurityException:

“HTTP 请求未经客户端身份验证方案‘协商’未经授权。从服务器收到的身份验证标头为‘协商,NTLM’。]”

有任何想法吗?

这是我的服务配置:

这就是我调用服务的方式:

0 投票
4 回答
10850 浏览

wcf - 如何配置具有两个终结点的 WCF 服务以对每个终结点使用不同的 ListenUri?

我有一个 WCF 服务,它使用 WPF 和 ASP.NET 应用程序公开一个端点webHttpBinding并被 WPF 和 ASP.NET 应用程序使用。一切都很好。

我现在正尝试从 Windows Phone (WP7) 使用该服务。但是,由于 .NET Framework 还没有完全赶上 WP7,因此System.ServiceModel.Web命名空间不可用,结果webHttpBinding在 WP7 中不起作用。

现在,在我的服务中,如果我切换到webHttpBindinga basicHttpBinding,电话应用程序就可以工作。

我不想重新设计我的 WPF 和 ASP.NET 应用程序来使用basicHttpBinding它。

我了解 WCF 能够支持多个绑定,并且我已尝试配置和运行该服务,以便它公开端点webHttpBindingbasicHttpBinding. 该服务似乎启动良好。但是,WPF 和 ASP.NET 应用程序无法访问它。当我尝试在 WP7 应用程序中创建服务引用时,我收到以下消息:

绑定实例已关联到侦听 URI 'http://localhost:1726/GeneralService.svc'。如果两个端点想要共享同一个 ListenUri,它们也必须共享同一个绑定对象实例。两个冲突的端点要么在 AddServiceEndpoint() 调用中指定,要么在配置文件中指定,要么在 AddServiceEndpoint() 和 config 的组合中指定。

baseAddress我和一位同事对,address和属性进行了各种更改,listenUri但没有任何运气。我们现在正处于试错阶段,事实证明这不是很有效。

0 投票
1 回答
1951 浏览

wcf - 可以通过 Internet 访问 Windows 服务中托管的 WCF 吗?

我需要对 WCF 有所了解。

我正在开发一个客户端服务器应用程序。项目计划是这样的。

我们有一台服务器在 Windows 7 上运行 SQL Server 2008(我知道 Windows 7 不是服务器的最佳选择,但它现在有 Windows 7)。我正在计划构建 WCF 服务集群,这些服务将托管在 Windows 服务上,并在服务器端使用 net tcp 绑定。这些 WCF 服务集群处理应用程序和数据库事务的所有业务逻辑。

此时将有 25 个 Windows 客户端(将来可能会增加)运行客户端应用程序。所有客户端都在同一个局域网中,所以我猜上面的架构可以工作,所有客户端都可以使用网络 TCP 绑定访问在服务器上运行的 WCF 服务。如果我错了,请纠正我...

我将来想做的是我想创建一个移动客户端应用程序或 Silverlight 客户端应用程序来访问相同的 WCF 服务......如果我在 Windows 服务中托管了 WCF 服务并且移动客户端应用程序/Silverlight 客户端应用程序是否有可能是在同一个网络(同一个局域网)??(我想没有看到评论)

如果我想通过互联网访问它怎么办?可以通过 Internet 访问托管在 Windows 服务上的上述 WCF 服务吗?(如果它是 nettcp 绑定但只能由其他 WCF 应用程序绑定 - 请参阅评论)

如果没有,我可以为 WCF 服务创建 http 基本端点,同时将它托管在 Windows 服务中并可以通过 Internet 访问吗?

如果没有,我可以在 Windows 服务和 IIS 中托管相同的 WCF 服务吗?

如果您希望 WCF 可以通过 LAN 和 Internet 访问,那么最好的选择是什么?

0 投票
1 回答
1405 浏览

wcf - WCF basicHttpBinding:回复客户端失败时回滚

我通过basicHttpBinding在数据库上执行多个操作来公开 WCF 服务。

我想保证,如果客户端没有收到回复,则数据库操作将回滚(没有任何事务流通过 WCF)。例如,客户端调用在服务器上执行但在完成之前客户端崩溃的“DoX”方法。一旦无法将回复发送到客户端,则应立即回滚数据库操作。

有没有办法做到这一点?该[OperationBehavior(TransactionScopeRequired=true)]属性会以这种方式工作吗?是否有可能在服务器端处理通信错误?

更新 1: 似乎[OperationBehavior(TransactionScopeRequired=true)]在向客户端发送回复之前提交了事务,因此如果客户端没有收到回复,则不能用于执行回滚。

更新 2: 再次明确说明,我不需要事务以任何方式与客户端交互。客户端既不应该知道事务,也不能取消或提交它,也不应该有任何事务流过绑定。如果传输通道无法将消息传递给接收客户端,我希望事务回滚的唯一地方是服务器端。在 TCP/IP 的情况下,该信息应该很容易提供给服务器。(没有返回给客户端的 TCP 数据包的 ACK)

因此,服务器端的假设执行流程(注意缺少客户端)应该是:

0 投票
1 回答
1423 浏览

wcf - WCF 标头在消息中重复

最近,我遇到了 wcf 服务调用的问题,在消息的开头和结尾的消息中随机返回了 2 次标头。这是我通过提琴手看到的一个例子:

这并非一直发生,但似乎是随机发生的。它不仅仅发生在一个特定的服务调用中,而是可以在任何调用下发生。我还不能确定一个模式。

我们在 silverlight 应用程序中通过负载均衡器使用绑定类型 basicHttpBinding。

编辑:

我们有一个相当基本的配置:

服务端:

客户端: