小编chw*_*arr的帖子

有没有办法通过 Azure Devops API 获取提交的原始差异?

作为我们应用程序的一部分,我们正在构建与 Azure DevOps 的 REST API 集成的功能。我们感兴趣的一个关键组件是能够看到特定提交的实际差异,以便我们可以查看和分析行内容。我们已经为 GitHub、GitLab 和 Bitbucket 创建了这种集成,每次都很简单:每个都有一个相当简单的差异端点,它接受特定的提交 ID 并对其进行比较(有时与特定的父提交)。

然而,我在 Azure DevOps 中没有找到相同的功能:diffs 端点一些与此相关的数据,但它实际上只是对哪些文件已更改以及这些更改的高级性质的概述,以及代表每个状态(之前和之后)的文件的特定 blob 的 ID。

理论上可以使用这些 blob 来手动构建我想要的内容,实际上我已经能够查询之前之后的 blob 以获取每个文件的差异。但这是每个文件两个单独的端点查询——进行 20 个文件提交,突然间我们需要 40 个 API 调用才能构建合理的差异。不幸的是,这并不真正符合我们的性能需求。

是否有单独的 API 端点或技术可以让我们获取原始差异?它不需要是直接的原始 diff ,只要能让我们通过最少的 API 调用(最好只有一个)来查看每一git diff(而不是每个文件)的前后状态即可。我在 StackOverflow 上的文档和此处进行了大量搜索,但没有找到任何可以实现此目的的内容。

azure-devops azure-devops-rest-api

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

在 Microsoft.Azure.Cosmos.Client 上启用跨分区查询

我正在使用 .NET Core Cosmos DB Client NuGet 包 Microsoft.Azure.Cosmos v3.4.4

我需要跨分区查询,但我还没有找到如何做到这一点,如FeedOptions.EnableCrossPartitionQuery以下文章 https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-query-容器

如何启用跨分区查询?

asp.net-core azure-cosmosdb

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

强制创建惰性对象

我正在收集一些Lazy物品.然后我想要一次性强行"创造"它们.

void Test(IEnumerable<Lazy<MailMessage>> items){
}
Run Code Online (Sandbox Code Playgroud)

通常使用Lazy项目,只有访问其中一个成员,才会创建包含的对象.

看到没有ForceCreate()方法(或类似),我被迫做以下事情:

var createdItems = items.Where(a => a.Value != null && a.Value.ToString() != null).Select(a => a.Value);
Run Code Online (Sandbox Code Playgroud)

这是使用ToString()给力创建的每个项目.

有没有更简洁的方法来强行创建所有项目?

c# lazy-loading lazy-evaluation

5
推荐指数
2
解决办法
2188
查看次数

从会话0(服务)启动提升的用户流程

大家早,

这个问题似乎已经被问过几次了,但是我找不到它是否真正可行。我已经张贴在这里

没有回复-让我们尝试在这里问别人。

我的目标是在当前用户上下文中(仅当它们在本地管理员组中)从服务启动提升的进程(作为管理员)。

我可以毫无问题地获得“当前用户”令牌,但无法获得该帐户的辅助/管理员令牌!

我已经阅读了很多论坛,但无法使其正常工作(开始认为这样做不可行)。

我目前的方法:

  • WTSGetActiveConsoleSessionId -获取活动会话ID
  • WTSQueryUserToken -获取会话ID的用户令牌
  • 检查令牌是否为admin(不是)。
  • OpenProcess -登录用户的explorer.exe的进程句柄
  • OpenProcessToken -获取访问令牌的句柄
  • LookupPrivilegeValue -SE_DEBUG,以确认我们可以调整令牌权利
  • DuplicateTokenEx -用户令牌
  • SetTokenInformation
  • AdjustTokenPrivileges
  • CreateEnvironmentBlock -在中运行新流程
  • CreateProcessAsUser -希望在提升的用户上下文中生成该过程(不发生-标准用户上下文)

请查看下面的代码-抱歉,它很杂乱,需要整理并且所有句柄都已关闭。目前,这只是实验性代码。

public static bool CreateProcessInConsoleSession(String CommandLine, bool bElevate)
{
    PROCESS_INFORMATION pi;
    bool isadmin = IsUserAnAdmin();

    bool bResult = false;
    uint dwSessionId, winlogonPid = 0;
    IntPtr hUserToken = IntPtr.Zero, hUserTokenDup = IntPtr.Zero,
        hPToken = IntPtr.Zero, hProcess = IntPtr.Zero;

    Debug.Print("CreateProcessInConsoleSession");
    // Log the client on to the local computer.
    dwSessionId = WTSGetActiveConsoleSessionId();

    // Find the …
Run Code Online (Sandbox Code Playgroud)

c# session winapi

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

git:key不包含节

我使用的是Git版本1.8.4.2.

当我按下tab以自动完成任何命令时,它会打印下面的错误,它也会完成命令.

错误:key不包含部分: - get-regex

有人可以帮忙避免这个错误吗?

git

5
推荐指数
0
解决办法
8212
查看次数

如何在 C# 中向 ProtoBuf 重复字段添加值

我是 Grpc 新手,我希望列出请求的值列表,为此我需要一个中继器。代码如下所示。

syntax = "proto3";

option csharp_namespace = "Test.Grpc.Server.Protos";

package test;

service VcaAdministrator {
    rpc ForceStop (ForceStopRequest) returns (ForceStopResponse);
}

message ForceStopRequest{
    repeated string Id = 1;
}

message ForceStopResponse{
    bool stopped = 1;
}
Run Code Online (Sandbox Code Playgroud)

我希望将值传递给 ForceStopRequest。

        var cmd = new Command("ForceStop");
        cmd.AddOption(new Option<string>("--id", getDefaultValue: () => "null", description:"Force stop"));

        cmd.Handler = CommandHandler.Create(async (List<string> id) =>
        {
            var request = new ForceStopVcaRequest()
            {
                Id = id
            };

            var response = await vcaAdministratorClient.ForceStopVcaAsync(request);
            Console.WriteLine($"{response.Stopped} {response.ErrorCode} {response.ErrorMessage}");
        });

        return cmd;
Run Code Online (Sandbox Code Playgroud)

但上面的代码会生成错误“无法分配属性或索引器‘ForceStopRequest.Id’——它是只读的。” …

.net grpc

5
推荐指数
2
解决办法
2万
查看次数

如何从文件安装 Emacs 包

我在组织的内部 PC 上安装了 Emacs,该 PC 未对 Internet 开放。

为了这个问题,我想安装“自动完成”包。

我已经从 MELPA 下载了一个 tar 文件,从 GitHub 下载了一个 zip 文件,并将它们复制到我的组织 PC。

现在如何使用 tar 或 zip 文件安装自动完成包?

顺便说一下,我在 MELPA 中看到自动完成包依赖于弹出的 0.5.0 包。

我应该先安装那个吗?

emacs

4
推荐指数
1
解决办法
1808
查看次数

Microsoft.Azure.Kusto.Data.NETStandard 包中缺少 WithAadUserPromptAuthentication

我正在使用 NuGet 包 Microsoft.Azure.Kusto.Data.NETStandard(昨天发布的最新版本 6.1.4)。在以前的版本中,我经常遇到以下错误。

\n\n
\n

Kusto 连接字符串生成器具有一些无效或冲突的属性:指定的“AAD 用户名密码”身份验证方法设置了不正确的属性。\',\n 请查阅 Kusto 连接字符串文档:https://learn.microsoft.com/en-us/azure/kusto/api/connection-strings/kusto

\n
\n\n

但是,现在错误发生了变化,并为我提供了更多详细信息,如下所示。

\n\n
\n

Kusto 连接字符串生成器具有一些无效或冲突的属性:指定的“AAD 用户名密码”身份验证方法具有一些不正确的属性。缺少:[用户 ID、密码].. \',\n 请参阅 Kusto 连接字符串文档,网址为https://learn.microsoft.com/en-us/azure/kusto/api/connection-strings/kusto

\n
\n\n

一旦我提供了用户名和密码,就成功了。(我不想\xe2\x80\x99不想)

\n\n

我还使用了KustoConnectionStringBuilderMicrosoft.Azure.Kusto.Data NuGet 包 (.NET Framework) 中的类。这允许我使用 来连接而无需传递用户名和密码WithAadUserPromptAuthentication()

\n\n
var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(\n    $"https://{serviceName}.kusto.windows.net")\n.WithAadUserPromptAuthentication(authority);\n
Run Code Online (Sandbox Code Playgroud)\n\n

为什么 .NetStandard 包中缺少此方法?

\n

.net-standard azure-data-explorer

4
推荐指数
1
解决办法
1494
查看次数

构造函数java中的final double

我无法理解为什么double xx并将yy其放入final构造函数中.为什么不让我只是把它们double xxdouble yy.为什么他们必须final?我想这个目的的全部目的是创建一个immutable对象.

public class Point {
private final double x, y;
private double distance; 

 public Point(final double xx, final double yy) {
  this.x = xx;
  this.y = yy;
  this.distance = -1; 
 }

}
Run Code Online (Sandbox Code Playgroud)

java immutability

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

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