gpt4 book ai didi

WCF 服务器端超时

转载 作者:行者123 更新时间:2023-12-02 00:44:49 25 4
gpt4 key购买 nike

有没有办法告诉 WCF 服务在一定时间后响应请求(有或没有中止它的处理),即使它还没有完成,类似于服务器端超时策略?

最佳答案

我想您可以通过在 WCF 操作开始后立即启动一个新线程来完成此操作。然后真正的工作发生在新线程上,原始 WCF 请求线程使用具有特定超时的 Thread.Join() 等待。如果发生超时,可以使用 Thread.Abort() 取消工作线程。

像这样:

public string GetData(int value)
{
string result = "";
var worker = new Thread((state) =>
{
// Simulate l0ng running
Thread.Sleep(TimeSpan.FromSeconds(value));
result = string.Format("You entered: {0}", value);
});

worker.Start();

if (!worker.Join(TimeSpan.FromSeconds(5)))
{
worker.Abort();
throw new FaultException("Work took to long.");
}

return result;
}

关于WCF 服务器端超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1149507/

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