C# 远程服务器返回错误:(401)在context.ExecuteQuery()中未经授权:ASP.Net

C# 远程服务器返回错误:(401)在context.ExecuteQuery()中未经授权:ASP.Net,c#,asp.net,sharepoint,C#,Asp.net,Sharepoint,我正在使用以下代码片段连接sharepoint server API。正如预期的那样,此代码段在空白项目中运行良好。它返回公告、共享文档、任务等列表 但当我将其与现有应用程序集成时,它抛出远程服务器在context.ExecuteQuery()中返回了一条错误消息:(401)Unauthorized 我尝试提供Context.Credentials=newnetworkcredential(用户名、密码、域) 代码: using (ClientContext context = new Clie

我正在使用以下代码片段连接sharepoint server API。正如预期的那样,此代码段在空白项目中运行良好。它返回公告、共享文档、任务等列表

但当我将其与现有应用程序集成时,它抛出
远程服务器在
context.ExecuteQuery()
中返回了一条错误消息:(401)Unauthorized

我尝试提供
Context.Credentials=newnetworkcredential(用户名、密码、域)

代码:

using (ClientContext context = new ClientContext(ServerUrl))
{
    //get all the lists from sharepoint
    //all the files and folders resides inside some list.
    Web web = context.Web;
    context.Load(web.Lists, its => its.Include(it => it.Title, it => it.Id, it => it.RootFolder.ServerRelativeUrl));

    context.ExecuteQuery();
    foreach (var list in web.Lists)
    {
        //add all the lists to treeview
        //list id is assigned to node value and list's server relative url is assigned to tooltip
        tvItems.Nodes.Add(new Telerik.Web.UI.RadTreeNode
        {
            Value = list.Id.ToString(),
            Text = list.Title,
            ExpandMode = Telerik.Web.UI.TreeNodeExpandMode.ServerSide,
            ToolTip = list.RootFolder.ServerRelativeUrl
        });
    }
}
我尝试将
context.Load(web.Lists,its=>its.Include(…);
代码行更改为
context.Load(web.Lists,its=>ClientObjectQueryableExtension.Include(…);
,以确保sharepoint引用不会与现有引用混淆一次


任何帮助都可以很好地解决这个问题。

如果您想从提供商托管的应用程序中访问上下文,您可以使用以下方法:

        var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
        using (var clientContext = spContext.CreateUserClientContextForSPHost())
        { 
          .... 
        }

如果您想从提供商托管的应用程序中访问上下文,您可以使用以下内容:

        var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
        using (var clientContext = spContext.CreateUserClientContextForSPHost())
        { 
          .... 
        }

由于是web进程,您需要显式提供凭据详细信息,请检查以下链接并重试:由于是web进程,您需要显式提供凭据详细信息,请检查以下链接并重试: