System. Net .Sockets.SocketException: «Существующее соединение было принудительно закрыто удаленным хостом» с проверкой подлинности SharePoint Online с низким уровнем доверия - PullRequest
0 голосов
/ 16 января 2020

Мы используем Oauth для аутентификации нашего облачного сервиса в Azure с использованием SharePoint в Интернете - https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/three-authorization-systems-for-sharepoint-add-ins#low -траст , и мы получаем эту ошибку - System. Net .Sockets.SocketException: 'An существующее соединение было принудительно закрыто удаленным хостом '

При попытке использования кода clientContext.ExecuteQuery () ниже.

Microsoft.SharePoint.Client.User spUser = null;
            try
            {
                using (clientContext)
                {
                    if (clientContext != null)
                    {
                        spUser = clientContext.Web.CurrentUser;

                        clientContext.Load(spUser);
                        clientContext.ExecuteQuery();

                        return spUser.LoginName.Split('|')[2];
                    }
                }
                return string.Empty;//no context = no id
            }

This is how SharePoint Context looks like

Любая идея, что это может быть за проблема или как ее устранить? Спасибо

1 Ответ

1 голос
/ 21 января 2020

Таким образом, добавление этого исправило проблему:

using System.Net;
using System.Security.Authentication;

Добавьте приведенный ниже код перед clientContext.ExecuteQuery ();

const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
            const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
            ServicePointManager.SecurityProtocol = Tls12;

Основная проблема заключается в том, что мы используем. net framework 4.5, и нам придется обновить эту версию до последней версии для этой ошибки до go.

Это объяснено подробнее здесь - Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом

Протокол безопасности по умолчанию в. NET 4.5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...