问题标签 [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 回答
4135 浏览

asp.net - 使用 ASP.NET 成员资格提供程序限制对 WCF REST (webHttpBinding) 服务的访问?

我在网上找到了很多关于将 ASP.NET Membership Provider 与 wsHttpBindings 一起使用的资料,但我没有看到任何关于将其与 webHttpBindings 一起使用的参考资料。

我正在寻找一个可以在两种情况下工作的系统:

  1. 用户登录到一个 asp.net 网站,该网站正在调用该服务。
  2. 用户通过 REST 直接访问服务。

这是否可以使用内置框架(即仅通过配置)?如果是这样,我该如何配置服务?用户如何将凭据传递给 REST 服务?

0 投票
3 回答
6299 浏览

wcf - 如何在 WCF 中启用 webHttp 连接?

我正在开发一种将数据从 android 手机传输到服务器的解决方案(用 C#/.NET 编写)。

我创建了一个 WCF 服务并使用模拟器进行测试,一切正常。然后,当我尝试从手机登录(连接到家庭 wifi 网络)时,我收到以下异常消息:

org.apache.http.conn.HttpHostConnectException:连接到http://192.168.1.5:8000被拒绝

如果有人可以查看配置文件和界面并就如何启用连接提供任何建议,我将不胜感激。

网络配置:

界面:

服务实现:

0 投票
3 回答
13464 浏览

wcf - 如何将用户凭据从 WebClient 传递到 WCF REST 服务?

我正在尝试公开 WCT REST 服务,并且只有具有有效用户名和密码的用户才能访问它。用户名和密码存储在 SQL 数据库中。

这是服务合同:

这是 WCF 配置:

我正在通过 Silverlight 应用程序中的 WebClient 类访问该服务。但是,我无法弄清楚如何将用户凭据传递给服务。我尝试了 client.Credentials 的各种值,但它们似乎都没有触发我的自定义验证器中的代码。我收到以下错误:底层连接已关闭:发送时发生意外错误。

这是我尝试过的一些示例代码:

如果我将安全模式设置为“无”,则一切正常。我还尝试了其他 clientCredentialType 值,但没有一个起作用。我还自托管了 WCF 服务,以消除与 IIS 在服务获得机会之前尝试对用户进行身份验证相关的问题。

任何关于潜在问题的评论将不胜感激。谢谢。

更新:感谢 Mehmet 的出色建议。这是我的跟踪配置:

但我没有看到来自我的 Silverlight 客户端的任何消息。至于 https 与 http,我使用 https 如下:

但是,我没有配置任何 SSL 证书。这是问题吗?

0 投票
1 回答
482 浏览

c# - WCF 使用多个可能的 REST 响应

我最近开始阅读有关 WCF 中的 WebHttpBinding 用法并能够使用 REST 服务的信息,但是,我现在对这个有点困惑。

我正在编写一个向给定 api 发出单个请求的服务,但是,它可以返回许多响应中的一个。

例如,通用响应:

但是,如果传出请求中的某些内容无效或响应服务本身遇到任何问题,则返回响应将是:

Pedram Rezaei 有一篇关于消费 REST 服务的精彩帖子,我从那里借用了大部分信息。据我所知,只要对象定义了可序列化的属性,我们就可以创建一个对象。问题是,创建哪个类没有条件(ErrorResponse/ActualResponse)。

我不确定我是否应该查看某种 TryParse 功能,该功能发送初始请求并在无法发生反序​​列化或是否有更优雅的方法时捕获错误。

我对 WCF 世界还很陌生,所以我可能完全忽略了一些东西!

0 投票
2 回答
566 浏览

wcf - WebMessageBodyStyle.Wrapped 应该使用什么语法?

我找不到关于 HttpWebRequest 包装体的语法的任何文档。

0 投票
3 回答
2458 浏览

wcf - 是否可以在自托管 WCF 服务中使用 ASP.NET MembershipProvider/RoleProvider?

我正在尝试使用自定义 ASP.NET MembershipProvider 和 RoleProvider 来处理我的服务的安全性。该服务自托管在控制台应用程序中,而不是在 IIS 中。我使用带有基本身份验证的 webHttpBinding。我将 serviceCredentials 和 serviceAuthorization 配置为使用提供程序。提供者真的被初始化了。但是 WCF 似乎忽略了我的设置并尝试将用户登录到 Windows。我从事件日志中发现了这一点,并通过将我的 Windows 凭据发送到服务来证明这一点。下面你可以看到我的配置和调试截图。为什么使用 windows 进行身份验证?也许没有 IIS 就不可能使用 ASP.NET 身份验证提供程序?

这就是我在调试时看到的。为什么使用 windows 进行身份验证?

凭据屏幕 http://img81.imageshack.us/img81/1289/credentials.gif

链接到全尺寸屏幕

0 投票
2 回答
2331 浏览

wcf - 如何使 WCF webHttp 行为接受 HEAD 动词?

我有一个托管在 Windows 服务中的 WCF 服务。我已经向它添加了一个带有 webHttp 行为的 webHttpBinding,每当我向它发送一个 GET 请求时,我都会得到我想要的 http 200,问题是每当我向它发送 HEAD 请求时我都会得到一个 http 405。

有没有办法让它也为 HEAD 返回 http 200?这甚至可能吗?

编辑:这是运营合同:

0 投票
4 回答
18466 浏览

rest - 无法通过 web.config 设置 maxReceivedMessageSize

我现在已经调查了过去两个小时的 400 - BadRequest 代码。很多建议都是为了确保正确设置 bindingConfiguration 属性,就我而言,确实如此。

现在,在摧毁我所在的建筑物之前,我需要你的帮助 :-)

我运行 WCF RestFull 服务(非常轻量级,使用此资源获取灵感:http: //msdn.microsoft.com/en-us/magazine/dd315413.aspx),它(目前)接受通过POST动词。

在实现真正的客户端之前,我目前只使用 Fiddler 的请求生成器(因为这是混合环境)。

当我对小于 65K 的 XML 执行此操作时,它可以正常工作 - 更大,它会引发此异常:已超出传入消息的最大消息大小配额 (65536)。要增加配额,请在适当的绑定元素上使用 MaxReceivedMessageSize 属性。

这是我的 web.config 文件(我什至包括了客户端标签(绝望的时候!)):

在此先感谢您提供的任何帮助,以通过 >65K XML 成功调用 ;-)

0 投票
4 回答
2002 浏览

wcf - WCF WebHttpBinding 测试工具

我正在开发 WCF RESTful 服务并寻找一个测试工具/调用程序来调用这些服务而无需编写客户端代码。任何人都可以向我推荐一个调用 RESTful 服务的工具,尤其是使用 WCF WebHttpBinding 的服务吗?

0 投票
1 回答
4100 浏览

wcf - WebHttpBinding 安全问题

我创建了一个 RESTful 服务并实现了身份验证。它接受用户名和密码,然后授予对所请求服务的访问权限。它工作正常。现在我想在我的服务之上使用 SSL。为此我创建了证书,然后在 IIS 中我提供了所需的设置。但是我的服务不起作用。我正在使用 webHttpBinding。

我在服务端的 Web.Config 是:

在我的客户端 app.config 我有

当我尝试运行客户端时,它说提供的 URI 方案 Https 无效,需要 http。

此外,当我尝试从 VS2008 调用 Web 服务时,它显示“找不到与具有绑定 WebHttpBinding 的端点的方案 https 匹配的基地址。注册的基地址方案是 [http]。”

如果我尝试从 IIS 运行 Web 服务,它会显示“找不到与绑定 WebHttpBinding 的端点的方案 http 匹配的基地址。注册的基地址方案是 [https]。”

我试过谷歌搜索并尝试了所有建议的东西,但没有成功。请帮忙。

提前致谢, 塔拉·辛格