在Microsoft Graph SDK(DotNet)的版本4中,您可以使用流畅的方法.WithShouldRetry
和.WithMaxRetry
.请参见示例中的此blogpost.
我现在正在将我的应用程序升级到SDK的v5,因为版本是removal of .Request()
,所以不可能再设置重试.
如何在SDK v5中实现重试?
Update: 参见新的blogpost for v5 of the SDK.
在Microsoft Graph SDK(DotNet)的版本4中,您可以使用流畅的方法.WithShouldRetry
和.WithMaxRetry
.请参见示例中的此blogpost.
我现在正在将我的应用程序升级到SDK的v5,因为版本是removal of .Request()
,所以不可能再设置重试.
如何在SDK v5中实现重试?
Update: 参见新的blogpost for v5 of the SDK.
重试处理程序现在是Microsoft.Kiota.Http.HttpClientLibrary.Middleware.Options中的IRequestOption,因此您可以执行如下操作
using Microsoft.Kiota.Http.HttpClientLibrary.Middleware.Options;
private static Event CreateEvent(GraphServiceClient graphServiceClient, string emailAddress)
{
var requestBody = new Event
{
Subject = "Let's go for lunch",
Body = new ItemBody
{
ContentType = BodyType.Html,
Content = "Does mid month work for you?",
},
Start = new DateTimeTimeZone
{
DateTime = "2023-03-15T12:00:00",
TimeZone = "Pacific Standard Time",
},
End = new DateTimeTimeZone
{
DateTime = "2023-03-15T14:00:00",
TimeZone = "Pacific Standard Time",
},
Location = new Location
{
DisplayName = "Harry's Bar",
},
TransactionId = "7E163156-7762-4BEB-A1C6-729EA81755A7",
};
RetryHandlerOption retryHandlerOption = new RetryHandlerOption()
{
MaxRetry = 5
};
var requestOptions = new List<IRequestOption>
{
retryHandlerOption,
};
return graphServiceClient.Users[emailAddress].Calendar.Events.PostAsync(requestBody, rc => rc.Options = requestOptions).GetAwaiter().GetResult();
}