问题标签 [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.

0 投票
1 回答
2347 浏览

c# - 实现 IServiceBehavior 会影响 ServiceBehavior 属性吗?

我有 WCF 服务。我需要在实现 ServiceContract 的类中实现 IServiceBehavior。我在该类上有一些指定服务行为的属性。我想问一下在实现属性中指定的 IServiceBehavior 行为后是否仍然适用。

基本上可以

意思是一样的

同样,我的意思是我仍然有ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)

我对 IServiceBehavior 的实现如下:

我只想实现中央错误处理,我不想以任何其他方式改变服务行为。

感谢帮助。

0 投票
1 回答
535 浏览

.net - 当 InstanceContextMode.Single WCF 服务公开多个端点时存在多少个实例?

无论端点数量如何,该设置是否ServiceBehavior设置InstanceContextMode.Single单个实例?

0 投票
1 回答
16842 浏览

wcf - web.config 中的 WCF 服务 dataContractSerializer maxItemsInObjectGraph

我在主机的 web.config 中指定 dataContractSerializer maxItemsInObjectGraph 时遇到问题。

以上对我的数据拉取没有影响。由于数据量大,服务器超时。

但是,我可以在代码中指定最大限制并且有效

有谁知道为什么我不能通过 web.config 设置来完成这项工作?我想保留在 web.config 中,以便将来更新。

0 投票
2 回答
1244 浏览

c# - 指定 WCF 服务会话无限期持续

我是 WCF 的新手,所以也许这是最好的另一种方式。

现在我有一组 WCF 服务,但我正在尝试构建每周发送电子邮件的功能。为此,我使用以下代码构建了另一个 WCF 服务:

它开始被禁用,我从一个 aspx 页面启用它。为了测试,我已经设法让这个工作间隔 10 分钟,它似乎在将间隔设置为 15 分钟的某个地方中断了。

对我来说,WCF 服务会话似乎因不活动而到期,这可以解释为什么计时器会停止。有没有办法指定 WCF 服务的生命周期,以便我可以从 aspx 页面启用计时器,退出,并且计时器服务将持续存在?我已经看到有关设置超时值的信息,但我仍然不清楚这是否适用。

0 投票
1 回答
6778 浏览

wcf - WCF method throws an exception of maximum items in an object graph is '65536'

I get an exception when there are too many objects returned:

The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://.../Contract:GetBlaBlaResult. The InnerException message was 'Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota. '. Please see InnerException for more details.

I’ve looked it up and added under behaviors in the server side:

And in the client side:

But it seems that it is ignored and the exception keeps arising.

The thing is I use XmlSerializer (for attributes in the elements):

and the exception, as you can see, refers to the dataContractSerializer (and so is the configuration I’ve added above).

Is it the XmlSerializer that mess up the things?

Can somebody advise please?

Thanks a lot :)

0 投票
8 回答
49786 浏览

wcf - 验证邮件的安全性时出错

当我尝试调用 WCF 服务时,我收到以下消息“验证消息的安全性时发生错误”。

当我删除自定义身份验证时,服务没有问题。我无法弄清楚我在 web.config 中的配置错误。任何见解将不胜感激。

0 投票
2 回答
790 浏览

.net - 是否存在与 Java 初始化 Servlet 等效的 .net?

是否存在与 Java 初始化 Servlet 等效的 .net?

当我们在它的时候,相当于一个过滤器?

最后,如果所说的东西存在(过滤器),它们可以在向 WCF 服务发出请求之前/之后运行吗?

0 投票
1 回答
569 浏览

wcf - 我可以创建一个 ServiceBehavior 来替换我已经应用于我的服务中每个操作的 OperationBehaviors 吗?

我知道此服务中的所有操作都需要相同的 OperationBehavior。我可以实现一个 ServiceBehavior,它在操作运行之前执行相同的功能吗?

我目前有:

我想将其替换为:

在我的 AuthTokenValidation 属性中,我在 ApplyDispatchBehavior 方法中有以下代码:

我检查了 IServiceBehavior 中的 ApplyDispatchBehavior 方法,但我无法弄清楚如何访问当前正在调用的 DisppatchOperation。

这是使用 ServiceBehavior 的正确方法,还是我应该满足于 OperationBehaviors 来实现此功能?

0 投票
1 回答
866 浏览

wcf - 为什么 ServiceBehavior 是服务类的属性而不是合同的属性?

我发现很多地方人们指出 ServiceBehavior 应该是服务类的属性而不是合同,而且这似乎确实如此。为什么是这样?

0 投票
1 回答
2330 浏览

wcf - WCF - 自定义凭据和安全令牌

我对 WCF 开发相当陌生,并且在学习框架时遇到了一些问题。我有一个必须同时支持 REST 和 SOAP 的服务 api。到目前为止,这很容易实现,尤其是使用 WCF4 和路由。

我目前正在研究授权,并通过创建两个新的管理器类来扩展 AuthorizationManager:“ApiKeyAuthorizationManager”和“ApiKeyAndTokenAuthorizationManager”

我的大部分服务都需要有 ApiKey 和 Token (GUIDS);最初进行身份验证时,您只需要一个有效的 ApiKey 和密码即可接收 Token。

到目前为止,REST 运行良好,因为授权管理器查看查询字符串以获取 ApiKey 和/或令牌。

例如,服务 uri 看起来像: * http://api.domain.com/Service/Operation/ {someVariableValue}?ApiKey=GUID&Token=GUID

我的问题现在与授权 SOAP 服务调用有关。我做了一些研究,并得出了一些我想在实施之前验证是否正确的结论。

为了使用自定义凭据授权 SOAP,我应该:

  1. 创建自定义服务令牌 ( MSDN )
  2. 通过创建自定义 SecurityTokenProvider、SecurityTokenAuthenticator 和 SecurityTokenSerializer ( MSDN )来扩展 WCF
  3. 通过创建自定义 AuthorizationPolicies ( MSDN )扩展 WCF

我在正确的轨道上吗?所有这些步骤都需要适合我的场景吗?似乎只是为了验证由两个 GUID 组成的凭证需要进行如此多的自定义。

谢谢!


[编辑#1]

这是一项非常艰巨的任务。自定义凭证和安全令牌几乎没有记录。事实证明,找到高质量的博客文章本身几乎是不可能的。我一直在努力,并且非常接近有一个可行的解决方案。我什至遇到了与本文所述相同的障碍。

当我尝试访问我的服务以发现 wsdl 或 mex 时,我收到此错误:

如果您知道可能是什么原因造成的,我很乐意提供帮助。


[编辑#2]

微软似乎不想更新他们的示例来展示如何允许 wsdl 支持自定义凭据/令牌。 见这里。任何人都知道如何让这个工作?如果没有文档如何扩展它,那么使框架可扩展的意义何在?!?


[编辑#3]

正如我在下面的评论中所述......我使用 UserNameSecurityToken 让 TransportWithMessageCredential 工作得很好。不幸的是,当需要实现我计划的一些更高级的功能时,我的服务最终将需要自定义令牌。

我正在寻找的答案是:

如何通过WSDL 支持来支持自定义服务凭证和令牌?

目前,按照 Microsoft 的示例,您只能通过使用 ChannelFactory 并在客户端上创建自定义绑定来使用自定义凭据。我宁愿不处理那个。

如果这个问题仍未得到解答,我将继续增加赏金。一旦我能完成这一切,我将写一篇博客教程,介绍创建自定义安全解决方案所需的所有步骤。