小编mig*_*lla的帖子

使用Azure AD Graph Client获取Active Directory管理员

使用Azure Active Directory Graph Client,我可以使用ff成功查询AD的用户角色.码:

var activeDirectoryClient = new ActiveDirectoryClient(); // Instantiate the Graph Client here.
var adRoles = await activeDirectoryClient.DirectoryRoles.ExecuteAsync();
Run Code Online (Sandbox Code Playgroud)

但是,有可能得到:

  1. 作为管理员角色的角色列表?和
  2. 属于管理员角色的用户列表

在这种情况下,我对管理员的定义是公司管理员角色下的用户,或者能够授权应用程序的用户(通过格式为https://login.microsoftonline.com/common/oauth2/的身份验证请求URL)授权?response_type = code&client_id = xxx-xxx&resource = yyy-yyy&redirect_uri = zzz-zzz&prompt = admin_consent)

c# active-directory azure user-roles

9
推荐指数
1
解决办法
1326
查看次数

将UWP ComboBox ItemsSource绑定到Enum

可以使用ObjectDataProviderWPF应用程序将枚举的字符串值绑定到ComboBox的ItemsSource,如此问题所示.

但是,在UWP应用程序中使用类似的代码段时,ff.显示错误消息:

"Windows Universal项目不支持ObjectDataProvider."

在UWP中有一个简单的替代方法吗?

c# enums combobox uwp uwp-xaml

9
推荐指数
1
解决办法
4780
查看次数

使用CSVHelper映射IEnumerable属性

我有一类User,可以有几个联系号码.我正在使用CsvHelper生成用户报告,该报告将创建用户姓名和联系人详细信息的CSV文件.每个联系号码都应显示在自己的列中,联系号码的类型为列标题.

下面我有我的ContactNumberUser类,以及UserMap应该格式化我的CSV文件的类:

public class ContactNumber
{
    public string ContactType { get; set; }
    public string Number { get; set; }
}

public class User
{
    public string Name { get; set; }
    public IEnumerable<ContactNumber> ContactNumbers{ get; set;}
}

public sealed class UserMap : CsvClassMap<User>
{
    public UserMap()
    {
        Map(m => m.Name).Name("Username");
        // Incorrect Code
        Map(m => m.ContactNumbers).Name(c => c.ContactType);
    }
}
Run Code Online (Sandbox Code Playgroud)

我应该如何映射ContactNumbers的IEnumerable属性以实现我想要的结果?

c# csv ienumerable csvhelper

8
推荐指数
1
解决办法
3008
查看次数

Windows Phone 8 - MVVM ViewModels和App.xaml.cs

我一直在研究MVVM模式并将其应用到Windows Phone 8应用程序中,我对在应用程序中初始化和访问ViewModel的最佳实践有疑问.

当我从WP8 SDKs模板创建数据绑定应用程序时,我注意到App.xaml.cs文件中的这段代码:

public static MainViewModel ViewModel
{
    get
    {
        // Delay creation of the view model until necessary
        if (viewModel == null)
            viewModel = new MainViewModel();

            return viewModel;
    }
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    // Ensure that application state is restored appropriately
    if (!App.ViewModel.IsDataLoaded)
    {
        App.ViewModel.LoadData();
    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着App类包含MainViewModel作为静态成员,并且在激活应用程序时,将加载ViewModel.

既然如此,我有以下问题:

  1. 如果我的应用程序有多个ViewModel,它们是否都会作为成员存储在App.xaml.cs文件中?

  2. 如果同时加载每个ViewModel的数据,我该如何管理我的应用程序的内存?是否可以卸载每个ViewModel的数据并仅加载我的View正在使用的ViewModel?

c# mvvm viewmodel windows-phone-8

7
推荐指数
1
解决办法
3983
查看次数

同时使用[FromUri]和[FromBody]绑定复杂的Web Api方法参数

我正在使用请求和响应模型来封装需要传递给ASP.NET Web Api中的方法的数据,[FromUri][FromBody]在必要时使用.

但是,有些实例我想使用Uri和Body来填充我的请求模型的属性.一个例子是更新用户,其中UserId应该在Uri中传递,但要更新的数据将在正文内容中传递.我想要的实现看起来像这样:

型号:

public class UpdateUserRequestModel
{
    public string UserId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string DisplayName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Api方法:

[HttpPut]
[Route("Update/{UserId}")]
// PUT: api/Users/Update/user@domain.net
public async Task UpdateUserAsync(UpdateUserRequestModel model)
{
    // Method logic
}
Run Code Online (Sandbox Code Playgroud)

我希望UserId获得属性[FromUri],但要获得其余的属性[FromBody],同时将所有参数保存在单个对象中.这可能吗?

c# asp.net dto asp.net-web-api asp.net-web-api-routing

7
推荐指数
1
解决办法
1522
查看次数

Azure表存储 - 具有不同名称的TableEntity映射列

我使用Azure表存储作为我的语义记录应用程序块的数据接收器.当我通过自定义调用日志时EventSource,我会得到类似于ff的列:

  • EVENTID
  • Payload_username
  • 操作码

我可以通过创建一个TableEntity与列名完全匹配的类来获取这些列(EventId由于某种原因除外):

public class ReportLogEntity : TableEntity
{
    public string EventId { get; set; }
    public string Payload_username { get; set; }
    public string Opcode { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,我想将这些列中的数据存储在我的不同命名属性中TableEntity:

public class ReportLogEntity : TableEntity
{
    public string Id { get; set; } // maps to "EventId"
    public string Username { get; set; } // maps to "Payload_username"
    public string Operation { get; set; } // maps to …
Run Code Online (Sandbox Code Playgroud)

mapping azure azure-storage azure-table-storage

6
推荐指数
1
解决办法
2181
查看次数

在Code-First Entity Framework中包含复合主键中的外键

我有一个名为一个实体Member,为此,我想设置的主键MemberIdGroupId.在这种情况下,GroupId是实体的主键Group.使用下面的代码,外键设置正确,但它不包含在主键的一部分中.如何添加外键列以生成复合主键?

public class Member
{
    [Key]
    public string MemberId { get; set; }

    public string MemberName { get; set; }

    public string GroupId { get; set; }

    [ForeignKey("GroupId")]
    public virtual Group Group { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework foreign-keys primary-key composite-primary-key

6
推荐指数
1
解决办法
3925
查看次数

反序列化OData.Error消息

我有一个使用Azure AD Graph API的ASP.NET应用程序.通常,当对Graph API执行无效操作时,会抛出异常.

以下代码显示了一个无效的Graph API调用,该调用将触发异常:

// Query the Azure AD User
var userToUpdate = await activeDirectoryClient.Users.GetByObjectId("user@domain.net").ExecuteAsync();

// Set given name to an empty string (not allowed)
userToUpdate.GivenName = "";

try
{
    // Update the user in Azure AD
    await userToUpdate.UpdateAsync();
}
catch (Exception e)
{
    // Return exception message
}
Run Code Online (Sandbox Code Playgroud)

内部异常的消息是在每个引号之前带有正斜杠的JSON字符串.它看起来像这样:

"{\"odata.error\":{\"code\":\"Request_BadRequest\",\"message\":{\"lang\":\"en\",\"value\":\"Invalid value specified for property 'givenName' of resource 'User'.\"},\"values\":[{\"item\":\"PropertyName\",\"value\":\"givenName\"},{\"item\":\"PropertyErrorCode\",\"value\":\"InvalidValue\"}]}}"
Run Code Online (Sandbox Code Playgroud)

附加找到异常消息的Locals窗口的屏幕截图: 例外细节

我想将此JSON转换为.NET对象以返回信息性错误详细信息.我正在使用JSON.NET库,我假设JSON将反序列化为一个ODataError对象:

var error = Newtonsoft.Json.JsonConvert.DeserializeObject<ODataError>(e.InnerException.Message);
Run Code Online (Sandbox Code Playgroud)

但是,反序列化对象的值始终为null,这意味着转换未按预期工作.

话虽这么说,上面的JSON字符串应该映射到哪个类?另外,我应该从字符串中删除正斜杠以进行正确的反序列化吗?

c# json json.net odata azure-ad-graph-api

5
推荐指数
1
解决办法
2177
查看次数

容器位于主机文件系统中的哪个位置?

我目前正在Windows Server上试验Docker容器.我创建了许多容器,我想看看它们实际保存在主机文件系统中的位置(如Hyper-V的.vhd文件).是否有我可以查看的默认位置,或者使用Docker CLI找到它的方法?

containers docker windows-server-2016

3
推荐指数
1
解决办法
1548
查看次数

C++ iostream:使用cin >> var和getline(cin,var)输入错误

我正在用C++创建一个简单的控制台应用程序,它从用户那里获取字符串和字符串输入.为了简单起见,我想使用stringchar数据类型将输入从cin传递给.

要获取字符串输入,我使用的是getline方法:

string var;
cin.ignore(); //I used ignore() because it prevents skipping a line after using cin >> var
getline(cin, var);
Run Code Online (Sandbox Code Playgroud)

要获取char输入,我使用cin >> var方法:

char var;
cin >> var;
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都可以正常工作.但是,当我使用getline输入字符串时,它会忽略我的字符串的第一个字符.

是否可以使用getlinecin >>而不必使用ignore,或者我可以调用的方法以确保不跳过我的第一个字符?

这是我使用getlinecin >>的完整代码示例:

string firstName;
string lastName;
char gender = 'A';

cout << "First Name: ";
cin.ignore();
getline(cin, firstName);


cout << "Last Name: ";
cin.ignore();
getline(cin, lastName);

while(genderChar != …
Run Code Online (Sandbox Code Playgroud)

c++ ignore input cin getline

2
推荐指数
1
解决办法
4590
查看次数