Когда пользователь подает отчет, определенные данные используются для обновления календарного события с указанной информацией. Однако, если пользователь вручную удалил событие из своего календаря, когда в отчете ссылается на идентификатор события, ранее хранящийся в результате его создания, оно не удалось. Он никогда не проходит для оператора if msg.contains («не найдено в магазине», stringcomparison.ordinalignorecase). Он должен сделать это, чтобы создать новое событие с данными. Однако я получаю приведенную ниже ошибку: < /p>
fail: MyApp.WebApp.Controllers.MyController[0]
Error saving data.
Microsoft.Graph.Models.ODataErrors.ODataError: The specified object was not found in the store.
at Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.ThrowIfFailedResponseAsync(HttpResponseMessage response, Dictionary`2 errorMapping, Activity activityForAttributes, CancellationToken cancellationToken)
at Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.SendAsync[ModelType](RequestInformation requestInfo, ParsableFactory`1 factory, Dictionary`2 errorMapping, CancellationToken cancellationToken)
at Microsoft.Graph.Me.Calendar.Events.Item.EventItemRequestBuilder.PatchAsync(Event body, Action`1 requestConfiguration, CancellationToken cancellationToken)
at MyApp.WebApp.Controllers.MyController.Create(MyCreateViewModel myCreateViewModel, IFormFile myFile, Nullable`1 UploadedFileId) in C:\Path\To\MyApp\WebApp\Controllers\MyController.cs:line 711
< /code>
Я попытался использовать вышеупомянутый код:
if (msg.contains ("не найдено в хранилище", stringcomparison.ordinalignorecase))
и if ( Ex.ResponseStatuscode = 404). Однако ни один из них не работал. Ниже приведен фрагмент кода: < /p>
try
{
await _graphServiceClient.Me.Calendar.Events[appointment.MicrosoftGraphEventId]
.PatchAsync(updatedEvent);
_logger.LogInformation("Updated existing Graph event with ID: {EventId}", appointment.MicrosoftGraphEventId);
}
catch (ServiceException ex)
{
ex.ResponseStatusCode = 404;
var msg = ex.Message ?? "";
if (msg.Contains("not found in the store", StringComparison.OrdinalIgnoreCase))
{
_logger.LogWarning("Graph event {EventId} was not found. Creating new event.",
appointment.MicrosoftGraphEventId);
var newEvent = new Event
{
Subject = subject,
Body = new ItemBody
{
Content = bodyContent,
ContentType = BodyType.Text
},
Start = new DateTimeTimeZone
{
DateTime = meetingStartTime.ToString("yyyy-MM-ddTHH:mm:ss"),
TimeZone = "South Africa Standard Time"
},
End = new DateTimeTimeZone
{
DateTime = meetingEndTime.ToString("yyyy-MM-ddTHH:mm:ss"),
TimeZone = "South Africa Standard Time"
},
Location = new Location
{
DisplayName = graphEventLocation
}
};
}
else
{
throw;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... d-object-w
Есть ли метод исключения, который ссылается на Odataerror: «Указанный объект не был найден в магазине». ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Указанный объект не был найден в магазине. Процесс не смог получить правильные свойства
Anonymous » » в форуме C# - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-