Ошибка аутентификации SharePoint Server - PullRequest
0 голосов
/ 09 августа 2011

Так что раньше я работал с размещенным сайтом SharePoint, и все работало нормально, когда я проходил аутентификацию на этом сайте, используя следующий код:

private static NetworkCredential credentials = new NetworkCredential(username, password, domain);
private static ClientContext clientContext = new ClientContext("https://thisonesite.com/hosting/151");
private static Web site = clientContext.Web;
private static List list = site.Lists.GetByTitle(listName);

private static void sharepointLogin()
{
    try
    {
       //Loads credentials needed for authentication
       clientContext.Credentials = credentials;
       //Loads the site
       clientContext.Load(site);
       //Loads the site list
       clientContext.Load(list);
       //Executes the previous queries on the server
       clientContext.ExecuteQuery();
       //Writes out the title of the SharePoint site to the console
       Console.WriteLine("Title: {0}", site.Title);
    }
    catch (Exception e)
    {
        Console.WriteLine(e.ToString());
    }
}

Теперь у меня создана песочница, и я могу нормально (вручную) обращаться к сайту. Однако, когда я пытаюсь пройти аутентификацию на сайте через мой код C #, я получаю сообщение об ошибке.

И кроме имени пользователя, пароля и домена все, что я действительно изменил, это private static ClientContext clientContext = new ClientContext("http://sandbox");.

Ошибка, которую я получаю в консоли:

System.Net.WebException: The underlying connection was closed: A connection that was expected to be kept alive was closed by the server. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host 
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute()
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb)
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
at ConsoleApp1.SharePointAccess.sharepointLogin() in C:\directortypath

Кто-нибудь знает, почему вдруг эта ошибка возникает на новом сайте SharePoint?

1 Ответ

0 голосов
/ 27 июня 2014

Перед каждым executeQuery ()

необходимы учетные данные, а для загрузки сайта и списка необходимо два executeQuery ().

clientContext.Credentials = credentials;
       clientContext.Load(site);
       clientContext.ExecuteQuery();

clientContext.Credentials = credentials;
       clientContext.Load(list);
       clientContext.ExecuteQuery();
...