C# 重置后,UWP应用程序中的Microsoft.SharePoint.Client.ClientContext失败

C# 重置后,UWP应用程序中的Microsoft.SharePoint.Client.ClientContext失败,c#,windows,sharepoint,uwp,sharepoint-online,C#,Windows,Sharepoint,Uwp,Sharepoint Online,我正在尝试连接到SharePointOnline 2013 在我的C#控制台应用程序中,一切正常,但如果我在通用应用程序中尝试(几乎)相同的代码,就不可能创建ClientContext的多个实例,也不可能多次设置凭据 Im使用Microsoft.SharepointOnline.CSOM版本:16.1.4727.1204(于2015年12月11日发布) 下面是通用应用程序版本,该版本在第二次方法调用中崩溃: public sealed partial class MainPage : Page

我正在尝试连接到SharePointOnline 2013

在我的C#控制台应用程序中,一切正常,但如果我在通用应用程序中尝试(几乎)相同的代码,就不可能创建ClientContext的多个实例,也不可能多次设置凭据

Im使用Microsoft.SharepointOnline.CSOM版本:16.1.4727.1204(于2015年12月11日发布)

下面是通用应用程序版本,该版本在第二次方法调用中崩溃:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();

        UseContextMultipleTime();
        UseContextMultipleTime();
    }

    public void UseContextMultipleTime()
    {
        using (var context = new ClientContext("https://something.sharepoint.com"))
        {
            context.Credentials = new SharePointOnlineCredentials("username", "password");
            try
            {
                context.ExecuteQueryAsync().Wait();
                string status = "OK";
            }
            catch (Exception ex)
            {
                string test = ex.ToString();
            }
        }
    }
}
当我只设置一次凭据时,它就会工作


有人知道这个问题的解决办法吗?我将感谢您提供的各种提示。

这个问题在最新的CSOM更新中得到了解决。现在一切正常。

问题已在最新的CSOM更新中解决。现在一切正常。

你有没有找到解决办法?SharePoint Online Credentials+UWP似乎是一个持续存在的问题。有什么想法?@Codesmith不,我没有。将SP Online凭据与UWP一起使用时存在问题,例如,如果您成功登录,则无法再次定义凭据。我还发现了Microsoft.SharepointOnline.CSOM->ClientContext在1小时后超时的一些其他问题缓存
SharePointOnlineCredentials
对象有意义吗?这样每次你需要一个新的上下文时,你就把它给了同一个creds对象?我猜不是--看起来你只能创建一个上下文,然后在应用程序过期时重新启动。(我已经读到,如果它是默认应用程序,你可以让它自己退出,然后操作系统应该重新启动它。我还没有确认。)@Tipura SharePointOnlineCredentials是否将字符串(密码)作为参数?我猜它以SecureString作为参数,而UWP中没有它。你有没有找到解决这个问题的方法?SharePoint Online Credentials+UWP似乎是一个持续存在的问题。有什么想法?@Codesmith不,我没有。将SP Online凭据与UWP一起使用时存在问题,例如,如果您成功登录,则无法再次定义凭据。我还发现了Microsoft.SharepointOnline.CSOM->ClientContext在1小时后超时的一些其他问题缓存
SharePointOnlineCredentials
对象有意义吗?这样每次你需要一个新的上下文时,你就把它给了同一个creds对象?我猜不是--看起来你只能创建一个上下文,然后在应用程序过期时重新启动。(我已经读到,如果它是默认应用程序,你可以让它自己退出,然后操作系统应该重新启动它。我还没有确认。)@Tipura SharePointOnlineCredentials是否将字符串(密码)作为参数?我猜它以SecureString作为参数,但它不在UWP中。
public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();

        UseContextMultipleTime();
        UseContextMultipleTime();
    }

    public void UseContextMultipleTime()
    {
        using (var context = new ClientContext("https://something.sharepoint.com"))
        {
            context.Credentials = new SharePointOnlineCredentials("username", "password");
            try
            {
                context.ExecuteQueryAsync().Wait();
                string status = "OK";
            }
            catch (Exception ex)
            {
                string test = ex.ToString();
            }
        }
    }
}