gpt4 book ai didi

c# - 我在服务器 1 上使用 Web 服务,如果服务器 1 出现故障,我如何更改到服务器 2(使用 C#)

转载 作者:太空宇宙 更新时间:2023-11-03 22:27:31 24 4
gpt4 key购买 nike

如果服务器 1 出现故障,我希望能够使用服务器 2,因此我有两个 Web 引用,但这会导致“模糊引用”错误,因为它在两个服务器上是相同的服务。

这是 C# 代码:

使用 App.org.weccrc.www;//主服务器使用 App.org.weccrc.www2;//备份服务器

有没有办法在“using”语句之前检查server1上的服务是否可用?

这可以是条件语句吗?

或者有另一种方法可以解决这个问题。

提前致谢

劳尔

最佳答案

我会做这样的事情

public R CallWebservice<T,R>(T service, IEnumerable<string> urls, Func<T,R> serviceCall)
where T : SoapHttpClientProtocol, IDisposable
{
foreach (var url in urls)
{
try {
service.Url = url;
return serviceCall(service);
} catch (Exception ex) {
// Log Error
continue;
} finally {
service.Dispose();
}
}

// throw exception here which means that all url's failed
}

你可以称它做这样的事情

Employee[] employees = CallWebService(
new DownloadService(),
new string[] { "http://site1/service.asmx","http://site2/service.asmx" },
service => service.DownloadEmployees()
);

这将遍历指定的每个 URL 并调用网络服务。如果失败,则它只会尝试执行下一个 URL,直到成功执行。

关于c# - 我在服务器 1 上使用 Web 服务,如果服务器 1 出现故障,我如何更改到服务器 2(使用 C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787620/

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