Есть ли метод исключения, который ссылается на Odataerror: «Указанный объект не был найден в магазине».C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли метод исключения, который ссылается на Odataerror: «Указанный объект не был найден в магазине».

Сообщение Anonymous »

Когда пользователь подает отчет, определенные данные используются для обновления календарного события с указанной информацией. Однако, если пользователь вручную удалил событие из своего календаря, когда в отчете ссылается на идентификатор события, ранее хранящийся в результате его создания, оно не удалось. Он никогда не проходит для оператора 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»