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

wcf - 从 WCF 客户端调用时,ASMX 服务参数(类型字符串)具有空值

我正在尝试使用带有 BasicHttpBinding 的 WCF 来使用现有的 ASMX 服务。我使用 SvcUtil 开始,只是将合同定义接口和配置提取到我的项目中,而所有默认配置值都由 SvcUtil 生成。以下是我目前拥有的:

合同:

和配置:

我遇到的问题是 asmx 服务接收到的 SendOrder 服务的 strOrder 的参数值始终为 null (我绝对不会在我最后提供 null :)

我错过了一些明显的东西吗?哪里是开始调试的好地方?

编辑使用 XMLSerializer 将序列化器切换到 SvcUtil

0 投票
2 回答
1266 浏览

wcf - WCF -> IIS 7.0 部分信任托管 (.svc) -> BasicHttpBinding -> 身份验证(用户名/密码)-> ASP.NET 成员资格提供程序 -> 无 SSL

基本上我的要求是:

  • WCF 服务应用程序托管在具有部分信任的 IIS 7.0 上
  • 使用 BasicHttpBinding 公开的端点
  • 想要启用基本身份验证(用户名/密码)
  • 想使用 ASP.NET 成员身份进行用户身份验证
  • 我不想设置 SSL

我看过一些教程,但他们谈论的是首先启用 SSL。我能够创建我的示例 WCF 服务,并且主机位于具有部分信任的 IIS 7.0 上,没有任何问题。它只是我正在努力解决的身份验证部分。

任何人都可以提供任何帮助或将我指向可以找到相关信息的地方吗?

0 投票
3 回答
16233 浏览

wcf - 如何在 BasicHttpBinding 中的 WCF 服务中进行身份验证?

我正在使用basicHttpBinding开发 WCF 服务,这些服务应该可以使用 .net 1.1 和 .net 2.0 访问,为此我使用的是basicHttpBinding
在旧的 ASMX Web 服务中,我使用了一个 Soap Header (AuthHeader) 来对每个请求的用户进行身份验证。

如何使用basicHttpBinding在 WCF 中进行身份验证?任何示例或教程都会有所帮助。


nRk

0 投票
1 回答
1494 浏览

wcf - WCF - 在标头中配置客户端/服务器身份验证?

我有一个 WCF 服务,需要接收客户端凭据,并根据我的身份验证方法维护某种基于角色的数据。

客户端将驻留在许多不同的系统上,因此,每个客户端将具有唯一的用户 ID 和密码。

我正在使用 basicHttpBinding 并阅读了一些文章,例如这篇文章, http://nirajrules.wordpress.com/2009/05/22/username-over-https-custombinding-with-wcf%E2%80%99s -channelfactory-interface/,描述该过程。

所以我正在寻找的是是否有人配置了一个完整的客户端/服务器来查看,以便我可以从中得出我自己的解决方案。

我想做的是在每个请求的标头中传递用户名和密码,在失败时传回某种 SecurityTokenValidationException,或者在通过时继续。

谢谢。

更新

我在客户端和服务器上都使用具有以下配置的 wsHttpbinding:

并且从客户端调用服务器如下:

我想我需要一点帮助来连接服务器上的 CustomUsernamePasswordValidator,因为我仍然收到“...无法激活”。错误。

0 投票
2 回答
582 浏览

wcf - Silverlight 客户端身份不总是传递给服务器?

我有一个 Silverlight 客户端,它通过 WCF 与源自它的服务器通信时遇到了一些问题basicHttpBinding。服务配置如下:

该服务器是配置为使用集成身份验证的 IIS6 Web 服务器。应用程序池标识是域帐户。

现在,从 Silverlight 客户端到 Web 服务器的一些调用包括客户端身份(访问客户端的域用户),而有些则不包括!我已经包含了 IIS 日志的一部分来显示这一点:

如果您向右滚动一点,您会看到某些请求的身份是已知的 ( BROWNIE\TestUser)。然而,对于大多数请求,情况并非如此。就好像客户端“随机”选择何时发送身份一样。

有没有人见过这种行为并找到解决方案?

0 投票
8 回答
3495 浏览

c# - WCF,BasicHttpBinding:停止新连接但允许现有连接继续

.NET 3.5、VS2008、使用 BasicHttpBinding 的 WCF 服务

我有一个托管在 Windows 服务中的 WCF 服务。当 Windows 服务因升级、定期维护等原因关闭时,我需要优雅地关闭我的 WCF 服务。WCF 服务的方法最多可能需要几秒钟才能完成,典型的量是每秒 2-5 次方法调用。我需要以允许任何先前调用方法完成的方式关闭 WCF 服务,同时拒绝任何新调用。通过这种方式,我可以在约 5-10 秒内达到安静状态,然后完成我的 Windows 服务的关闭周期。

调用ServiceHost.Close似乎是正确的方法,但它会立即关闭客户端连接,而无需等待任何正在进行的方法完成。我的 WCF 服务完成了它的方法,但是没有人可以发送响应,因为客户端已经断开连接。这是this question建议的解决方案。

以下是事件的顺序:

  1. 客户端调用服务上的方法,使用 VS 生成的代理类
  2. 服务开始执行服务方法
  3. 服务收到关闭请求
  4. 服务调用 ServiceHost.Close(或 BeginClose)
  5. 客户端断开连接,并收到 System.ServiceModel.CommunicationException
  6. 服务完成服务方法。
  7. 最终服务检测到它没有更多工作要做(通过应用程序逻辑)并终止。

我需要的是让客户端连接保持打开状态,以便客户端知道他们的服务方法已成功完成。现在他们只是得到一个关闭的连接,不知道服务方法是否成功完成。在使用 WCF 之前,我使用的是套接字,并且能够通过直接控制套接字来做到这一点。(即在仍在进行接收和发送的同时停止接受循环)

关闭主机 HTTP 端口很重要,这样上游防火墙可以将流量引导到另一个主机系统,但现有连接保持打开状态以允许完成现有方法调用。

有没有办法在 WCF 中实现这一点?

我尝试过的事情:

  1. ServiceHost.Close() - 立即关闭客户端
  2. ServiceHost.ChannelDispatchers - 在每个上调用 Listener.Close() - 似乎没有做任何事情
  3. ServiceHost.ChannelDispatchers - 在每个上调用 CloseInput() - 立即关闭客户端
  4. Override ServiceHost.OnClosing() - 让我延迟关闭,直到我决定可以关闭,但在此期间允许新连接
  5. 使用此处描述的技术删除端点。这抹杀了一切。
  6. 运行网络嗅探器以观察 ServiceHost.Close()。主机只是关闭连接,没有响应发送。

谢谢

编辑:不幸的是,我无法实现系统正在关闭的应用程序级咨询响应,因为现场的客户端已经部署。(我只控制服务,不控制客户端)

编辑:我使用 Redgate Reflector 来查看 Microsoft 的 ServiceHost.Close 实现。不幸的是,它调用了一些internal我的代码无法访问的辅助类。

编辑:我还没有找到我正在寻找的完整解决方案,但本杰明建议使用 IMessageDispatchInspector 在进入服务方法之前拒绝请求最接近。

0 投票
2 回答
2426 浏览

wcf - 将 basicHttpBinding 添加到 BizTalk ESB 工具包 WCF 服务 /ESB.ItineraryServices.WCF/ProcessItinerary.svc

刚刚开始在 BizTalk Server 2009 上使用 ESB Toolkit 2.0。我可以让 .NET 客户端与 ESB Toolkit WCF 服务/ESB.ItineraryServices.WCF/ProcessItinerary.svc 毫无问题地对话,但是,我们使用客户端根本无法处理wsHttpBindings的技术,只能看到basicHttpBinding。

有谁知道如何将 basicHttpBinding 添加到该服务的 web.config 中?web.config 如下所示。

非常感谢您提供的任何帮助。

安德鲁

0 投票
3 回答
4413 浏览

wcf - IIS 7 自动重启

我在 IIS 上部署了 WCF 服务。(BasicHTTPBinding 与 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)])

我已经构建了自定义内存会话管理,现在我面临一个奇怪的问题,即 IIS 7 自动重新启动,甚至没有在 EventLog 中抛出任何类型的警告或错误。这个问题会导致破坏所有可用的会话。

我在使用 log for net 记录 Application_Start 和 Application_End 方法后发现了这个问题,并且我将断点放在 application_start 中,它在测试执行之间暂停。

这种情况很少发生,但我需要知道它为什么会发生以及它是否正常和可以接受。如果不是,那么可能的原因是什么。

问候穆巴沙尔·艾哈迈德

0 投票
1 回答
1833 浏览

c# - BasicHttpBinding 和 WsHttpBinding 之间的代理

对于一个重要的客户,我必须在 PHP 中实现一个 SoapClient 以连接到 WsHttpBinding 中的 .Net Web 服务设置。

我知道 PHP SoapClient 不支持它。所以我的目标是开发一个用 C# 编写的代理软件,它将成为 BasicHttpBinding 和 WsHttpBinding 之间的“桥梁”。所以 PHP 将只与代理的 BasicHttpBinding 端进行通信,代理将使用 WsHttpBinding 将请求转换为真正的 WS,并以 BasicHttpBinding 格式返回给 PHP 一个答案。

这是我的目标,但我刚刚开始使用 C# ......所以我需要帮助才能做到这一点。

有人可以帮助我或给我建议吗?

谢谢,

0 投票
2 回答
2655 浏览

soap - 400 错误请求:使用 JScript/VBScript 使用 WCF basicHttpBinding (Soap)

这个 JScript 有什么问题?为什么我收到 400 错误请求。我在stackoverflow中读到了类似的线程。有人说它的soap消息格式问题。

如果我从提琴手那里得到消息,这就是它的样子。