.NET 服务中的重试体系结构
Architecture of retries in a .NET service
我需要创建一个简单的 .NET 服务。它从 sourceDB 中的单个 table 中读取记录,为每个记录调用 WCF 服务,然后将记录插入到 targetDB 中的单个 table 中。 sourceDB 中的所有记录都有一个创建时间。有单独的批处理过程定期填充 sourceDB。
如何使我的服务无懈可击 - 能够处理 sourceDB 中的所有记录,无论临时中断,例如WCF 服务正在关闭?有没有我可以应用的架构模式?
你应该看看 Polly。它使您能够编写如下代码:
Policy
.Handle<TimeoutException>()
.Retry(3, (exception, retryCount, context) =>
{
//access your DB(s)
});
我需要创建一个简单的 .NET 服务。它从 sourceDB 中的单个 table 中读取记录,为每个记录调用 WCF 服务,然后将记录插入到 targetDB 中的单个 table 中。 sourceDB 中的所有记录都有一个创建时间。有单独的批处理过程定期填充 sourceDB。
如何使我的服务无懈可击 - 能够处理 sourceDB 中的所有记录,无论临时中断,例如WCF 服务正在关闭?有没有我可以应用的架构模式?
你应该看看 Polly。它使您能够编写如下代码:
Policy
.Handle<TimeoutException>()
.Retry(3, (exception, retryCount, context) =>
{
//access your DB(s)
});