问题标签 [webhttpbinding]

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

wcf - 限制 WCF WebHttpBinding

我有一个使用 WebHttpBinding 的 WCF 服务。

我使用以下配置:

InstanceContextMode = InstanceContextMode.Single,ConcurrencyMode = ConcurrencyMode.Multiple

我已将 MaxConcurrentCalls 限制为 20。

我看到的是以下内容:如果达到 20 的限制,则新的连接/请求将排队。我怎样才能实现发送“服务繁忙”消息之类的东西?

非常感谢

0 投票
2 回答
2605 浏览

wcf - 使用 WCF 创建需要身份验证并使用 JSON 作为输入/输出格式的 RESTful Web 服务

我想将现有的 ASP.NET Web 服务移植到 WCF,因此生成的 Web 服务 (1) 是 RESTful,(2) 使用 JSON 作为其请求/响应格式,(3) 具有自定义身份验证机制。

经过大量的谷歌搜索,随机编码,并想把我的头撞到墙上,我发现......

  1. 必须使用AwebHttpBinding来使 Web 服务成为 RESTful。但...

    1. webHttpBinding不支持 HTTPS 主机。

    2. webHttpBinding不支持用户名认证。

    3. webHttpBinding甚至不支持消息安全。

  2. 必须使用端点行为<enableWebScript/>来支持 ASP.NET AJAX。但...

    1. 什么是“ASP.NET”AJAX?

    2. 如果我想使用“常规”AJAX 来使用 Web 服务怎么办?

而且,最重要的是...

  1. WCF 可以做我想做的事情吗?

  2. 如果没有,我可以使用哪些其他平台?

0 投票
4 回答
18543 浏览

c# - SOAP 标头操作不被理解

我正在尝试在 C# 中使用 Web 服务。每当我尝试从 Web 服务类调用该函数时,我都会收到“无法理解 SOAP 标头操作”。我添加了指向我项目中的 Web 服务的 Web 参考 [不是服务参考]。采取了以下步骤来添加网络参考

1)右键单击项目->添加WebReference

当我在网络浏览器中检查网络服务时,我在标题中发现了这个

我已经完成了以下代码来调用 Web 服务功能

0 投票
2 回答
1828 浏览

xml - 我可以在不设置内容类型的情况下调用 WCF 服务吗?

我正在尝试使用 webHttpBinding 用 WCF 替换旧的 REST/plain 旧 xml Web 服务。它必须与现有客户端向后兼容——当前不在请求中发送内容类型标头。

当我将客户指向我的新 Web 服务时,我收到 HTTP ERROR 415 - 缺少内容类型。

是否可以配置 WCF,使其接受没有内容类型标头的原始请求?

0 投票
3 回答
561 浏览

android - 调用 xml 到 Android

我有来自本地主机“http:localhost:810/Service1.svc/leb/GetAllCustomers”的 xml 格式记录列表

我可以将它调用到 android 并在 Textview 或 Spinner 或 EditTextView 或 android 的任何控件中列出它吗?

0 投票
2 回答
3673 浏览

wcf - WCF - 如何动态设置“enableWebScript”?

我正在开发我的第一个 WCF 服务,它将支持多个 Ajax 调用。我有一个这样配置的端点:

和我的行为配置:

我需要创建自己的错误处理,以便我可以将一些特定信息格式化回客户端(请参阅此处http://zamd.net/2008/07/08/error-handling-with-webhttpbinding-for-ajaxjson/) . 我的 WebServiceHostFactory 看起来像这样:

但是,在我创建自己的错误处理程序之后,它似乎覆盖了我在上面的配置中的“enableWebScript”设置,我认为这是有道理的,因为现在我正在动态创建自己的行为,它没有任何上面的配置设置。

我读到这个设置应该与 WCF/Ajax 一起用于安全目的(见这里http://www.asp.net/ajaxlibrary/Using%20JSON%20Syntax%20with%20Ajax.ashx)。所以我的问题是,如何在动态创建的行为上设置“enableWebScript”设置?还是不可能?

更新(2011 年 6 月 1 日):我还希望动态更改行为以使用 Windows 凭据进行身份验证。在配置文件中它是这样完成的:

这是我需要以编程方式进行的另一个设置,因为它似乎忽略了配置设置。

0 投票
1 回答
1585 浏览

wcf - WCF Rest 4.0、动态路由和 OutputCache

我在让 OutputCachingHttpContext.RewritePath用于 WCF 4.0 WebHttp 服务时遇到问题。

我的服务是本地化的。这个想法是你这样调用一个 URL:

它将返回本地化为正确语言的结果。

我的方案是基于这篇文章。这个想法是创建一个 RouteBase 的衍生物,它创建一个独特的、“私有”的路径到真实的服务。当用户发出请求时,语言代码会从 URL 中解压缩并设置为当前线程的文化,然后HttpContext.RewritePath用于加载实际服务。

对于我的生活,我无法弄清楚如何将 OutputCaching 融入其中。我已经用我的服务方法装饰了我的服务方法,AspNetCacheProfile并且看到我自己的VaryByCustom覆盖被调用。然而,尽管从 .NET 收到重复的结果VaryByCustom,.NET 仍然继续使用我的服务方法。

下面有很多代码,很抱歉转储,但我怀疑这一切都是相关的。


如何在 Global.asax.cs 中添加路线

Global.asax.cs 中的 VaryByCustom 覆盖:

这是动态服务路由类。

最后,服务本身的相关部分:

更新:我的缓存配置文件:

0 投票
1 回答
468 浏览

wcf - WCF REST (WebHttpBinding) 可以遵守 PROGRAMMATIC 输出缓存策略吗?

我知道所有关于AspNetCacheProfileAttribute. 但是有没有办法以编程方式挂钩缓存?我尝试在 global.asax 中使用 Response.Cache ,这似乎设置了正确的客户端标头,但响应从未缓存在服务器上。

0 投票
1 回答
4517 浏览

c# - WCF ProtocolException:错误请求 400(与 http 消息大小有关)

我正在尝试使用 WebHttpBinding 通过 WCF 传递 base64 编码的字符串。

我收到服务器没有响应的神秘错误“错误请求 400”。我知道它与字符串的大小有关,因为如果我测试一个非常短的字符串(大约 4KB 左右)它可以工作,但任何稍高的字符串都不会。

我到处都读到这与 maxReceivedMessageSize 或 web.config 中用于绑定的其他配置有关,但即使在客户端和服务器上更改了这些数字后,我仍然会收到错误(换句话说,我已经阅读了很多其他关于这个确切问题的帖子,但他们似乎没有帮助?)

我已经确认一切正常,直到引发错误的以下代码的最后一行:

这些是我的服务合同/数据合同:

数据推送接收端的合约:

服务器端 web.config:

客户端 Web 配置(引发错误的位置:)

0 投票
2 回答
6796 浏览

wcf - 在 IIS 中托管时,使用 HTTPS 进行 Webhttpbinding 和使用 UserNamepPasswordValidator 进行身份验证

我正在尝试设置托管在 IIS 中的 WCF 服务,该服务公开一个端点,该端点充当生成 JSON 数据的 REST 服务,并且我想使用 HTTPS。我想在 UserNamePasswordValidator 的帮助下自己处理用户身份验证,因为用户存储在数据库中。

目前我正在使用 webhttpbinding 来实现 REST-fulness。当我尝试启用 HTTPS(将安全模式设置为传输)时,我的问题就开始了。我在服务器端有一个 SSL 证书(现在是自签名的),所以一切都很好,但我不知道如何配置绑定的传输 clientCredentialType,以便将凭据传递给我的 UserNamePasswordValidator 实现。

我用谷歌搜索了很多,但似乎找不到任何好的东西。如果我理解正确,IIS 会在 WCF 之前处理身份验证,并且对此无能为力吗?我真的不想使用 ASP.Net 会员提供程序,但也许这是一种方法,还是有另一种方法?

谢谢!

编辑:找到这个。真的不是我所希望的...