gpt4 book ai didi

wcf - 优雅地终止 WCF 服务 - 完成所有打开的 session 并限制新 session

转载 作者:行者123 更新时间:2023-12-04 14:36:44 25 4
gpt4 key购买 nike

我有一个我编写的 WCF 服务,它托管在 Windows 服务中。它在 PerSession 模式下运行。该服务允许客户端通过该服务远程打开文件、更改文件和关闭文件。到目前为止,一切都非常顺利。

当 Windows 服务停止时,我希望 WCF 服务不接受任何新 session ,但允许已连接的客户端完成其当前 session 并工作(在合理的期限/超时内)。

实现这一目标的最佳方法是什么?

最佳答案

基本上,调用ServiceHost.Close()将完成此操作 - 它将让所有当前正在运行的请求运行完成,但如果有序关闭正在进行中,新请求将被拒绝。

您为服务配置的绑定(bind)上有一个“CloseTimeout”设置 - 它控制 WCF 运行时允许运行请求在正确关闭之前需要多长时间。如果发生超时,仍在运行的请求将被终止。
ServiceHost.Abort()另一方面,方法是大锤的数字等价物——所有正在运行的请求立即终止,主机关闭。

在客户端,你有相同的 .Close().Abort()客户端代理上的方法相同。

关于wcf - 优雅地终止 WCF 服务 - 完成所有打开的 session 并限制新 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com