C# 通用Windows应用程序运行时组件在使用Visual Studio 2015的Windows 10上未生成用户标识

C# 通用Windows应用程序运行时组件在使用Visual Studio 2015的Windows 10上未生成用户标识,c#,visual-studio-2015,components,windows-10-universal,user-identification,C#,Visual Studio 2015,Components,Windows 10 Universal,User Identification,我正在使用Windows 10机器和Visual studio 2015进行一个包含Windows运行时组件和通用Windows应用程序(UWA)的项目。UWA引用了Windows运行时组件,该组件执行任务以获取登录用户的用户标识(窗口NT ID,即“域名/用户名”)。创建UWA测试项目是为了调试运行时组件。如果我们在运行时组件中获取UserIdentity,那么我们就可以使用对Windows10 cordova项目的组件引用来获取javascript中的UserIdentity。 在这里,我们

我正在使用Windows 10机器和Visual studio 2015进行一个包含Windows运行时组件和通用Windows应用程序(UWA)的项目。UWA引用了Windows运行时组件,该组件执行任务以获取登录用户的用户标识(窗口NT ID,即“域名/用户名”)。创建UWA测试项目是为了调试运行时组件。如果我们在运行时组件中获取UserIdentity,那么我们就可以使用对Windows10 cordova项目的组件引用来获取javascript中的UserIdentity。
在这里,我们面临的问题是,没有任何代码能够登录用户的域名/用户名。我们已将此代码从Windows 8.1升级到10。此代码在Windows 8.1中运行良好,但在Windows 10中存在问题。下面是我们用于获取用户标识的代码:

public sealed class getNTID
{
    public static IAsyncOperation<string> DownloadAsStringsAsync()
    {

        return Task.Run<string>(async () =>
        {

            IReadOnlyList<User> users = await User.FindAllAsync();

            var current = users.Where(p => p.AuthenticationStatus == UserAuthenticationStatus.LocallyAuthenticated &&
                                    p.Type == UserType.LocalUser).FirstOrDefault();


            var data = await current.GetPropertyAsync(KnownUserProperties.AccountName);

            return data.ToString();

        }).AsAsyncOperation();
    }
} 
公共密封类getNTID
{
公共静态IAsyncOperation下载AsString异步()
{
返回任务。运行(异步()=>
{
IReadOnlyList users=wait User.findallalsync();
var current=users.Where(p=>p.AuthenticationStatus==UserAuthenticationStatus.LocallyAuthenticated&&
p、 Type==UserType.LocalUser).FirstOrDefault();
var data=await current.GetPropertyAsync(KnownUserProperties.AccountName);
返回data.ToString();
}).AsAsAsyncOperation();
}
} 
我们在数据变量的末尾得到了空字符串。如果有人分享他们的经验,或者他们在提到的平台上遇到过此类问题,那就太好了。

类对于windows 10是新的,它与您在windows 8.1中使用的不同。访问用户的个人信息是您必须请求的特权,因此在应用商店的Package.appxmanifest中,您需要在“功能”选项卡中启用“用户帐户信息”功能

当您呼叫时,您的用户将从系统中获得权限提示,如下所示,接受该提示即可获得权限。有关功能的更多详细信息,请参考。

对于
GetPropertyAsync
方法,如果属性丢失或不可用,则返回空字符串。因此,如果您已经这样做了,但仍然得到空值,则可能是该属性丢失或不可用

下面是我通过运行您的代码来获取当前用户的结果(我还将代码放在windows运行时组件中)

更多详细信息,请参考。

类是windows 10的新类,它与您在windows 8.1中使用的不同。访问用户的个人信息是您必须请求的特权,因此在应用商店的Package.appxmanifest中,您需要在“功能”选项卡中启用“用户帐户信息”功能

当您呼叫时,您的用户将从系统中获得权限提示,如下所示,接受该提示即可获得权限。有关功能的更多详细信息,请参考。

对于
GetPropertyAsync
方法,如果属性丢失或不可用,则返回空字符串。因此,如果您已经这样做了,但仍然得到空值,则可能是该属性丢失或不可用

下面是我通过运行您的代码来获取当前用户的结果(我还将代码放在windows运行时组件中)

更多详情请参考