问题标签 [endpointbehavior]

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

wcf - 指定 ServiceBehavior 和 EndpointBehavior 的语法?

查看http://msdn.microsoft.com/en-us/library/ms731303.aspxhttp://msdn.microsoft.com/en-us/library/ms789007.aspx,给出了指定 ServiceBehavior 的示例,但是有没有办法在 behaviorConfiguration 中指定一个端点行为?就像是

0 投票
0 回答
2401 浏览

wcf - WCF-Client 自定义终结点行为集保护级别

我正在尝试从 WCF 客户端调用 java web 服务。

Java 服务使用 WSE 3.0 安全性,因此我在服务的 Reference.cs 文件中使用自定义绑定如果我将服务合同更改为使用 protectionlevel.sign 并且一切正常。

现在的问题是我需要从 BizTalk 调用此服务。但我无法将保护级别设置为签名,并且对服务的调用失败。

我正在尝试编写一个从 ClientCredentials 行为派生的自定义行为并覆盖 ApplyClientBehavior 方法以设置保护级别,如下所示:

但这不起作用,它失败并出现与 proctionlevel 设置为默认值相同的错误。如果我在调试中检查合同端点,保护级别设置为签名,但它没有效果。

然后我尝试从 reference.cs 文件中的服务合同中删除 protectionlevel.sign 并改用 clientcredentials 行为,在调用服务之前,设置 protectionlevel 以像这样登录代码。

这很好用。但我不能在 BizTalk 中执行此操作

任何人都知道为什么上面的代码有效,但自定义端点行为却没有?

0 投票
1 回答
5054 浏览

wcf - 每个端点的不同服务行为

情况

我们正在对某些 WCF 服务实施不同类型的安全性。ClientCertificate、用户名和密码以及匿名。

我们有 2 个 ServiceBehaviorConfiguration,一个用于 httpBinding,一个用于 wsHttpBinding。(我们有基于声明的安全性的自定义授权策略)作为一项要求,我们需要为每个服务提供不同的端点。3 个带有 httpBinding 的端点和 1 个带有 wsHttpBinding 的端点。

一项服务的示例:

  • basicHttpBinding : 匿名
  • basicHttpBinding : 用户名和密码
  • 基本HttpBinding : BasicSsl
  • wsHttpBinding : BasicSsl

注意:我们正在开发 .NET 3.5

问题

第 1 部分:我们不能两次指定同一个服务,一次使用 http 服务配置,一次使用 wsHttp 服务配置。

第 2 部分:我们无法在端点上指定服务行为。(抛出和异常,未找到端点行为......服务行为不能设置为端点行为)

配置

第 1 部分:

服务行为配置:

我们如何在 WsHttpBinding 端点上指定不同的服务行为?或者我们如何以不同的方式将我们的授权策略应用于 wsHttpBinding 和 basicHttpBinding。我们将使用端点行为,但我们不能在端点行为上指定我们的授权策略

0 投票
1 回答
988 浏览

wcf - WCF 中终结点行为的执行顺序是什么?

WCF 中端点行为的执行顺序是什么?我希望仅当请求通过验证块时才会发生日志记录。但就我而言,即使验证失败,审计拦截器也会记录请求。

我有两个行为扩展:

然后在我的行为中:

0 投票
1 回答
213 浏览

wcf - WCF 消息:To 元素中的协议更改

我有一个 WCF 服务可以在 .NET 中使用。根据要求,标头中的 Action 元素必须是“http://abc”,To 元素必须是“ws://xyz”,以便服务识别和响应请求。然而,该操作的 soapAction 在 WSDL 中是空白的,并且无法更改。

我以编程方式构建的服务配置是这样的:

  • 文本消息编码绑定与 Soap11 信封版本和 WSAddressing10 寻址版本
  • 无证券投标
  • http传输绑定

我发现实现此要求的设置是“ws://xyz”作为端点 URL,并且 Request.Headers.Action 在 BeforeSendRequest 中使用使用附加到端点的端点行为添加的消息检查器设置为“http://abc”。然后我还附加了一个带有“http://abc”URL 的 ClientViaBehavior。

在我的开发机器上,这会根据需要引起

但是在它生成的测试服务器上

我不知道服务器的确切配置,但我相信它是 Windows 服务器,就像我的开发盒一样。相同的代码是否会在两台不同的机器上生成不同的消息,或者我将如何实现这一点?我还应该说它工作了几个星期并在上周一停止了。

我后来发现了以下内容:测试服务器上有 .NET 4.5 以及我尝试过的另一台机器(也失败了)。它工作正常的开发机器上只有.NET 4.0,这表明它可能与它有关。但是我没有证据表明它是由 .NET 4.5 引起的,因为它是在问题出现前几周安装的。此外,自从它停止工作以来,没有任何 Windows 更新!我还尝试在我的 ClientMessageInspector 实现中设置 To 元素,但协议仍然被翻转为 http。

0 投票
0 回答
206 浏览

wcf - 客户端中不存在自定义 EndpointBehavior

我想将自定义消息头添加到 myService 并且我已经点击了链接:

http://trycatch.me/adding-custom-message-headers-to-a-wcf-service-using-inspectors-behaviors/

我已经很好地配置了它,并且在服务器端 IServiceBehavior.ApplyDispatchBehavior 正在通过调试运行,我可以在 ServiceDescription.Endpoints[0].Behaviors 中看到我的自定义行为,但是当我运行 ServiceEndpointCollection endpoints = MetadataResolver.Resolve(descriptions, address, MetadataExchangeClientMode.MetadataExchange,客户端);行为集合是空的,所以没有调用 IEndpointBehavior.ApplyDispatchBehavior 和 IEndpointBehavior.ApplyClientBehavior 函数 - 有人知道吗?这是我的配置文件:

0 投票
1 回答
609 浏览

c# - 如何在 app.config 中将 ErrorHandler 添加到我的 EndpointBehaviour

所以我用 Spring.net 代理对象建立了一些 ServiceHost,一切都很好。我现在想在 xml 中添加一个自定义错误处理程序。如有必要,我可以在春天站起来,但我不知道如何做到这一点。我的 app.config 如下:

我发现如何在代码中做到这一点:

谁能帮我?

0 投票
1 回答
540 浏览

wcf - 如何配置端点

我有一个 WCF 服务

我的 Web.config 如下所示:

我最近从一个网站上找到了这个数组参数的代码

如何在 web.config 中使用这个扩展类。

这似乎是一个端点行为,但不知道如何使用它。

任何帮助表示赞赏

0 投票
2 回答
2164 浏览

c# - 以编程方式从配置加载不同的 EndpointBehavior

是否可以交换 app.config 文件中定义的端点的端点行为?

基本上我有一个带有定义的自定义绑定的端点。从代码中,我设置了 WCF 代理客户端的端点地址。我想根据端点地址使用不同的端点行为。

伪代码:

这(很容易)可能吗?我仍然希望在 app.config 中有我的行为定义,但会根据端点的地址动态加载它们。

0 投票
1 回答
233 浏览

multithreading - Mule VM - 数据丢失/未处理 VM 中的所有数据

Mule 3.4 只创建了默认的 16 个线程,并且没有采用下面我的代码中指定的任何配置。

  1. MaxActive="100" 没有创建,它只是创建了 16 个线程并处理它们。
  2. INITIALISE_ALL 也不起作用,它有一个空闲线程,当提交数据时,它会创建 16 并执行该过程。所以,MaxIdle=2 也不起作用(使用 jvisualvm 监控)

为什么它不覆盖默认行为?我错过了什么吗?

我现在面临的最关键的问题是,当我向 VM 提交一些 28 个 id 时,它会处理其中的一些,剩下的没有任何线索,也没有具体的数字/模式。(我无法在我的本地盒子中复制这个问题,这发生在更高的环境中,比如 QA、UAT 盒子,并且它在没有上面提到的这个问题的情况下工作)。请帮忙。