小编use*_*018的帖子

如何缓存和刷新托管身份令牌

我正在使用 azure 托管身份,下面的代码生成所需的令牌来验证 api。我在用<PackageReference Include="Azure.Identity" Version="1.4.0" />

var credential = new ManagedIdentityCredential();
            var accessToken = await credential.GetTokenAsync(new Azure.Core.TokenRequestContext(new[] {"my_scope"}));
            return accessToken.Token;
Run Code Online (Sandbox Code Playgroud)

现在,在每个 api 调用中,我都调用上面的方法来获取令牌。问题是有什么方法可以缓存这个令牌并自动刷新?这是内置可用的东西吗?

azure-managed-identity asp.net-core-3.1 azure-identity

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

在第二个短划线后需要获取所有内容?

我有类似下面的字符串值:

string str1 = "123-456-test";
string str1 = "123 - 456 - test-test";
string str1 = "123-REQ456-test";
string str1 = "123 - REQ456 - test-test";
Run Code Online (Sandbox Code Playgroud)

我需要在第二个破折号后立即从字符串中获取整个内容.

我试过了String.Split('-'),但没办法.我想我需要使用正则表达式,但我找不到正确的正则表达式.请建议.

c# regex

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

Azure AD:无法授予应用程序权限

在Azure AD注册后,我只是尝试为我的应用程序授予权限,但是出现此错误,

无法授予应用程序“”的权限。

有人可以告诉我原因吗?

在此处输入图片说明

azure-active-directory

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

如何获得相应的"名称"

我有一个C#dictionary,其中我有一个对应NAMEID.

Dictionary<string, List<object>> dict = new Dictionary<string, List<object>>
{
    { "ID", new List<object> { "Id1", "Id2" } },
    { "NAME", new List<object> { "True", "False" } }
};

foreach (var id in dict["ID"])
{
    Console.WriteLine(id);
    //how to get corresponding "Name". For "Id1" = "True" and for "Id2" = "False"
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码我循环ID,但如何获得相应的NAME

c# dictionary

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

寻找字符串操作的最佳方法

我正在寻找一些最好的字符串操作方法.以下是已下达的输出,

[System/EventID=100 or System/EventID=108],交换字符串应该以#开头[并且结尾]加上必须删除or之间的额外内容?

try
{
    string systemEvents = string.Empty;
    var eventIds = "100,108".Split(',');

    systemEvents += "[";

    foreach (var eventId in eventIds)
    {
        systemEvents += "System/EventID=" + eventId + " or ";
    }

    var X = systemEvents.Remove(systemEvents.Length - 4).Trim();

    var Y = X + "]";
}
catch (Exception ex)
{
    throw ex;
}
Run Code Online (Sandbox Code Playgroud)

c#

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

加载JSON文件会导致序列化错误

我有JSON文件,

[
  {
    "applicationConfig": {
      "Name": "Name1",
      "Site": "Site1"
    },
    "pathConfig": {
      "SourcePath": "C:\\Temp\\Outgoing1",
      "TargetPath": "C:\\Files"
    },
    "credentialConfig": {
      "Username": "test1",
      "password": "super1"
    }
  },
  {
    "applicationConfig": {
      "Name": "Name2",
      "Site": "Site2"
    },
    "pathConfig": {
      "SourcePath": "C:\\Temp\\Outgoing2",
      "TargetPath": "C:\\Files"
    },
    "credentialConfig": {
      "Username": "test2",
      "password": "super2"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

以下是C#类结构,

public class Configurations
{
    public List<ApplicationConfig> ApplicationConfigs { get; set; }
    public List<PathConfig> PathConfigs { get; set; }
    public List<CredentialConfig> CredentialConfigs { get; set; }
}


public class ApplicationConfig
{ …
Run Code Online (Sandbox Code Playgroud)

c# json

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

根据项目长度拆分列表<T>

我有一个列表,Message以及他们的项目长度size,this.Size = JsonConvert.SerializeObject(Data).Length;.

public class Data
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class Message
{
    public Data Data { get; set; }
    public int Size { get; set; }

    public Message(Data Data)
    {
        this.Data = Data;
        this.Size = JsonConvert.SerializeObject(Data).Length;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我有下面的数据集,我想将列表拆分成多个列表,每个列表应该只有50个字节(例如).

注 - 以 50为例,我的实际大小为1 MB,没有单个消息大于1MB

我试过下面,但是如何计算总大小并按照chunksize去分组,

.GroupBy(x => x.ItemSize / chunkSize)
Run Code Online (Sandbox Code Playgroud)

还是以不同的方式?

var messages = new List<Message>
{
    new Message(new Data{ …
Run Code Online (Sandbox Code Playgroud)

c#

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

如何从program.cs中的appsettings读取UrlPrefixes - asp.net core 3.1

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseHttpSys(options =>
            {
                options.UrlPrefixes.Add("how to get url from appsettings");
            });
            webBuilder.UseStartup<Startup>();
        })
        //host as window service
        .UseWindowsService();
    }
Run Code Online (Sandbox Code Playgroud)

应用程序设置配置,

"HttpSysOptions": {
    "UrlPrefix": "http://localhost:8099/"
}
Run Code Online (Sandbox Code Playgroud)

看起来可以使用hostingContext.Configuration,但在 内无法使用UseHttpSys,该怎么办?谢谢!

c# asp.net-core httpsys

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

我可以在 dot net core 控制台应用程序中使用BackgroundService吗

我知道如何在asp.net core中使用后台服务

public class WatchMan : BackgroundService
{
    
}
Run Code Online (Sandbox Code Playgroud)

我有一个点核心控制台应用程序,我想将其作为窗口服务运行,我可以BackgroundService在那里使用或类似的东西吗?

c# .net-core

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

“system.threading.channels”是否可以解决跨进程应用程序的发布子问题

我有一个 asp.net core 应用程序“A”,它每 1 分钟在一个文件夹中生成文件。

应用程序“B”想要一个通知或文件详细信息我们生成的文件以及该文件的一些哈希信息。根据此通知,应用程序“B”想要处理这些文件。

我正在考虑一些发布/订阅机制,我想要非常轻量级的组件,其中应用程序“A”将发布文件相关信息,应用程序“B”将订阅和侦听。

“system.threading.channels”会解决这个问题吗?

c# asp.net-core system.threading.channels

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