Я работаю над надстройкой Excel и пытаюсь подключить Excel к источнику OData с помощью C # и сборки Office.Interop. Код долго работал нормально, но недавно TLS1.0 был отключен на сервере Azure. После чего вызов ActiveWorkbook.Connections.Add2 () при ошибке с исключением
Основное соединение было закрыто: при отправке произошла непредвиденная ошибка. Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. Существующее соединение было принудительно закрыто удаленным хостом
Я использую следующую строку подключения:
@"DATAFEED;Data Source={0};Namespaces to Include=*;Max Received Message Size=4398046511104;Integrated Security=Basic;User ID={1};Password={2};Persist Security Info=false;Base Url={3}"
Однако, если я пытаюсь получить данные, используя встроенные в OData данные Excelфункция (Data tab -> Get Data -> From Other Sources -> From OData Feed
), данные заполняются правильно. Используя fiddler, я смог определить разницу между вызовами, сделанными с использованием Из функции OData Feed и теми, которые используют Connection.Add2 ()
Заголовкив Из OData Feed
Обнаружено совместимое с SSLv3 рукопожатие ClientHello. Fiddler извлек параметры, приведенные ниже.
Версия: 3.3 (TLS / 1.2)
Заголовки в Connection.Add2 ()
A SSLv3-совместимый ClientHelloрукопожатие было найдено. Fiddler извлек параметры, указанные ниже.
Версия: 3.1 (TLS / 1.0)
Разница в версии 3.3 (TLS / 1.2) и версии 3.1 (TLS / 1.0)
Мой вопрос: Как заставить Connection.Add2 () использовать версию 3.3?
Я уже пробовал
Provider=Microsoft.Mashup.OleDb.1;
в строке подключения - Установка библиотеки VSTO 2010
- Изменение версии .NET Framework на 4.8
, но ни одна из них не работает.