UWP System.Runtime.Interop.COMException при отладке, но System.Exception при выпуске

Я сталкиваюсь со следующей проблемой

Мое решение настроено с использованием MVVM, как это.

  • Приложение UWP -> Просмотр
  • PCL для Windows Universal и.NET Framework 4.6 -> ViewModel
  • PCL для Windows Universal и.NET Framework 4.6 -> модель

В View Project у меня есть сервис, который делает веб-звонки, используя Windows.Web.Http.HttpClient, этот сервис внедряется в несколько моделей представления.

В представлении модели у меня есть попытка поймать блок, как это.

try
{

    await webClientService.MakeACallAsync();

}
catch (System.Runtime.InteropServices.COMException e)
{
    //web exceptions such as 404, 401, 500 etc
    // code handling exceptions.
}

MakeACallAsync - это эта функция, но проблема не ограничивается только этим вызовом, это происходит и с другими подобными вызовами.

public async Task<string> MakeACallAsync(string username, string password)
        {                
            var usernamepassword = $"{username}:{password}";
            var bytes = Encoding.UTF8.GetBytes(usernamepassword);
            var base64 = Convert.ToBase64String(bytes);
            httpClient.DefaultRequestHeaders.Authorization = new HttpCredentialsHeaderValue("Basic", base64);
            return await httpClient.GetStringAsync( a uri here );
        }

Теперь, если служба выдает какие-либо исключения из-за ответа 404, 500 и т. Д., Я перехватываю эти исключения и обрабатываю их.

Это хорошо работает в Debug, но в Release исключения не выдаются как System.Runtime.InteropServices.COMException но, как System.Exception,

Кто-нибудь знает, почему это происходит?

0 ответов

Другие вопросы по тегам