AuthenticateWithApp генерирует исключение NullReferenceException с сегодняшнего дня
С сегодняшнего дня мы сталкиваемся с NullReferenceException при вызове функции AuthenticateWithApp в.NET-Podio-Client (самая новая версия 1.5.8).
Я не увидел обновления Podio-API или простоев на сайте статуса. Я думаю, это должно быть проблемой внутри Podio API.
Кто-нибудь с такой же проблемой?
С уважением Торстен
3 ответа
Наткнулся на это тоже сегодня. Запросы у почтальона сработали, подио.NET библиотека провалилась. Это вызвано обновлением API от Podio, как сказал @Sara. Кажется, моя система (и ваша тоже) по умолчанию по-прежнему Tls 1.0
Добавьте это в начале Main(). Это заставит как минимум Tls 1.1.
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
В качестве альтернативы вы также можете установить значение по умолчанию, как описано здесь:
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
У нас та же проблема, мы исправили ее, изменив библиотеку. Большая часть нашего проекта использует библиотеку Podio Sync. Библиотека Podio Sync относится к Dotnet framework 4.0, поэтому мы добавили строку кода для установки протокола безопасности по умолчанию.
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
Изменения сделаны в строке файла Podio.cs 76
private T Request<T>(RequestMethod requestMethod, string url, dynamic requestData, dynamic options = null)
where T : new()
{
Dictionary<string, string> requestHeaders = new Dictionary<string, string>();
изменился на
private T Request<T>(RequestMethod requestMethod, string url, dynamic requestData, dynamic options = null)
where T : new()
{
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
Dictionary<string, string> requestHeaders = new Dictionary<string, string>();
Надеюсь, это поможет..
Решение проблемы SecurityProtocol можно найти в C# HttpWebRequest. Основное соединение было закрыто: при отправке произошла непредвиденная ошибка.
Я мог бы решить эту проблему сегодня. Намек на протокол от @derpirscher был полезен. Поскольку мы используем.Net 4.0, мне пришлось немного поиграться. Но потом я придумал эту строку:
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
Я вставил эту строку в метод Page_Load моего Default.aspx-Page.
Теперь вызовы Podio-API снова работают правильно. Спасибо за помощь!
С уважением Тони