问题标签 [servicebehavior]
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.
c# - IServiceBehavior 和 ApplyDispatchBehavior 的简单示例
我正在尝试将 Unity 插入具有服务行为的 WCF 服务库。
我需要一个简单的服务行为示例。
我要做的就是在 WCF 服务启动时设置我的 IOC Unity 容器。
注意:我没有使用 WCF 服务应用程序。所以我无权使用任何 ASP.NET 方法来执行此操作。从概念的角度来看,服务行为似乎是最优雅的方法。但我不知道如何设置(我需要什么代码,是否更新配置文件等)。
wcf - 如何使用具有消息级安全性的 netTcpBinding?
我正在将我的 WSE3 服务迁移到 WCF 平台。客户端将是旧版 WSE3 客户端。
为了实现一些要求,我创建了自定义服务行为。服务行为的配置 (in web.config
) 包含该serviceCertificate
元素。
使用设置将此行为应用于我的服务behaviorConfiguration
。现在我想从托管在同一个 IIS 7.5 中的另一个 WCF 服务调用一个 WCF 服务。所以我添加了netTcpBinding
(和 netNamedPipeBinding 太)。当我从任何 WCF 服务调用另一个服务的 OperationContract 时,它曾经给我Access is denied.
错误。我删除了behaviorConfiguration
服务的设置,然后netTcpBinding
(和 netNamedPipeBinding)开始工作。
配置如下:
web.config中的服务行为配置为:
的绑定配置netTcpBinding
如下:
我想知道,
- 在这种情况下如何使用 netTcpBinding?
- 我可以对同一个服务使用两种不同的行为吗?如果是,如何?
- 如果不是,在这种情况下如何实现命名管道绑定?
- 为什么服务器证书相关的东西会导致
Access is denied
错误?没有内在的例外;刚刚接受了拒绝消息!
wcf - 为 behaviorExtensions 禁用 web.config 继承
我正在尝试在现有(根级别)网站下的 IIS 中添加 Web 应用程序。根级网站的 web.config 文件在 system.serviceModel 下定义了某些 behaviorExtensions:
扩展名是这样使用的:
由于某些原因,我不允许在添加的网站中添加对所需程序集的引用,所以我想通过这种方式禁用扩展的继承(当然在添加的网站的 web.config 中):
我还试图阻止扩展部分的继承,如下所示:<extensions><clear/></extensions>
. 但是,扩展节点似乎<clear/>
不支持。
然而,当添加的网站上发生 WCF 错误时,我得到以下异常(问题在第 191 行):
请注意,无法在根级网站的 web.config 中禁止继承,因为其他添加的网站正在使用相关设置。
c# - WCF ConcurrencyMode Single 和 InstanceContextMode PerCall
我的 wcf 服务配置有问题。我希望每次调用我的服务都创建一个新的服务实例。对于并发性,我希望一个呼叫在另一个开始之前完成。
因此,如果我有这样的服务:
当我在循环中通过多次调用调用它时,跟踪给出:
虽然我想要这个:
这可能吗?谢谢
wcf - 将属性添加到 BehaviorExtensionElement
我正在为 WCF 添加一个自定义 behaviorExtensionElement,并希望添加一个在读取配置的元素时可以读取的属性,例如
但是,我收到错误“无法识别的属性‘myAttribute’。请注意,属性名称区分大小写。”
我怎样才能避免这种情况?如何读取代码中的 myAttribute 值?
wcf - ConcurrencyMode 为 Single 时可以调用多个操作合约吗
我有一个带有 3 个操作合同的 WCF 服务。我设置[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single)]
了这项服务。我的基本疑问是我能否一次调用所有 3 项服务,或者一次只能调用一个合同。请任何人提供解决方案。
.net - WCF 错误“对象图中可以序列化或反序列化的最大项目数为 '65536'”
我在 WCF 调用中收到以下错误:
对象图中可以序列化或反序列化的最大项目数为“65536”
我已经阅读了大量的论坛帖子,其中许多都提到修改 app.config 和 web.config 以指定新行为以允许更大的对象图。我已经做到了,这就是我在这些文件中的内容:
WPF 项目上的 App.Config:
服务项目上的 web.config:
然而,这并没有帮助。请注意,APP.CONFIG 中引用的服务不是我遇到问题的服务。
我还尝试了以下方法:
将这些属性添加到服务实现中:[DataContract(IsReference=true)], [ServiceBehavior(AddressFilterMode = AddressFilterMode.Any, MaxItemsInObjectGraph = 2147483646)]
编写了一个自定义 DataContractSerializerOperationBehavior 类来设置 MaximumObjectsInGraph 和 IsReference 行为。还添加了自定义属性以应用此服务实现。为了混乱,我没有发布代码,但如果有人认为它会有益,可以添加它。
想法?想法?我从这里去哪里?
提前致谢!
java - 如何让 WCF 和 Java 客户端工作。需要专家帮助
背景(有点长):
几年前,我为客户编写了一个 WCF 服务,该服务配置为使用 basicHttpBinding,安全模式 = "Transport",clientCredentialType = "Certificate",即客户端使用(客户端)证书对自己进行身份验证。该服务使用自定义 AuthorizationManager 检查传入证书的指纹是否存在于有效证书指纹的预定义列表中。如果传入的证书被认为是有效的,则允许操作继续(如果不是,则抛出异常)。
该服务已经完美运行了大约四年,每个人都很高兴。然而,由于经常发生需求变化,最近开发人员联系了我的客户,希望将他们的应用程序连接到我的客户服务。唯一的问题是这些开发人员正在使用 Java 的一些变体作为他们的首选平台,现在我们面临着一些严重的问题。长话短说,没有人设法让他们的 Java 实现(例如 Metro、Axis2)与当前配置的服务一起工作。
上周,我们尝试通过将绑定更改为安全模式 =“TransportWithMessageCredential”和 Message clientCeredentialType =“UserName”的 wsHttpBinding 来使其与用 Java(Metro、JAX-WS)编写的客户端一起工作。我还在配置文件中的服务凭证元素中添加了一个自定义 UserNamePassWordValidatorType。
然后我注释掉了自定义 AuthorizationManager,因为没有来自客户端的证书。
瞧,这一次我们让 SoapUI 和 Java 客户端都可以与服务对话。
(顺便说一句,我们的服务在 Windows 服务中自托管)
很高兴,我们决定使用两个绑定配置服务,现有的基本HttpBinding 已经运行了很长时间而没有出现故障,以及新测试的 wsHttpBinding。所以我们会有类似的东西:
那么你可能会问的问题在哪里?好吧,看到那个<serviceBehavior>
元素了吗?您可能知道此元素全局应用于服务,这意味着在运行时将调用 CustomUserNameValidator 和 AuthorizationManager。后者会抱怨当客户端使用 wsHttpBinding 调用服务时没有证书存在!
啊!
替代解决方案。
到目前为止,这些是我提出的替代解决方案:
备选方案 1)创建另一个 Windows 服务,在不同的 URL 上托管我们的 WCF 服务。然后这两个服务将有一个单独的配置。
备选方案 2)创建两个托管在同一个 Windows 服务中的服务实现,并将它们都暴露在元素中,每个都有自己的绑定和 serviceBehaviour
备选方案 3)确定是否有可能保留当前配置并让 CustomUserNameValidator 和 AuthorizationManager 和平共存
很抱歉这篇长文,但在为我的问题提供背景时,我需要彻底。
问题 1)有没有人让 WCF 使用非平凡的配置与 Java 客户端一起工作?
问题 2)有没有人对如何解决替代方案 3 提出建议?(如果可能的话)
问题 3)如果有的话,您会推荐上述替代方案中的哪一个?
问题 4)您知道我还没有想到的其他替代方案吗?
作为记录,我研究了 WCF 互操作性工具,但我真的看不出它对我们有什么帮助。如果有人阅读本文后使用互操作性“向导”取得了良好的效果,
请告诉我。
提前致谢。
——诺吉
wcf - WCF - 如何将 serviceBehaviors 附加到 WCF 端点(否标签)
我正在使用第三方 WCF 服务,它的配置在下面(它的一部分)。我想分配serviceBehaviors
给端点,但这里没有<service>
标签。在这种情况下,您如何分配“serviceBehaviors”?
castle-windsor - 是否可以使用 Castle Windsor fluent api 打开 IncludeExceptionDetailInFaults?
我得到了这个例外。
由于内部错误,服务器无法处理请求。有关错误的更多信息,请在服务器上打开 IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute 或来自配置行为)以便将异常信息发送回客户端,或根据 Microsoft .NET Framework 3.0 SDK 文档打开跟踪并检查服务器跟踪日志。
我想用 fluent api 添加这个配置
有办法吗?这是我目前的配置...