C# 重置后,UWP应用程序中的Microsoft.SharePoint.Client.ClientContext失败
我正在尝试连接到SharePointOnline 2013 在我的C#控制台应用程序中,一切正常,但如果我在通用应用程序中尝试(几乎)相同的代码,就不可能创建ClientContext的多个实例,也不可能多次设置凭据 Im使用Microsoft.SharepointOnline.CSOM版本:16.1.4727.1204(于2015年12月11日发布) 下面是通用应用程序版本,该版本在第二次方法调用中崩溃: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
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();
}
}
}
}