小编Wim*_*uts的帖子

如何获取 Azure Devops 中所有存储库上周的提交列表

我们在 Azure Devops 中有多个存储库。在我的仪表板中,在项目统计信息中,我可以看到 Y 位作者进行了 X 次提交(过去 7 天),但是,我无法单击此按钮来获取更多详细信息。我如何获得过去 X 天内谁在存储库上提交了什么内容的列表/概述?

git azure-devops

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

从回调调用时,ASP.NET Core SignalR Clients对象已处置异常

我在干净的新ASP.NET Core 2.1 Web应用程序中具有以下中心实现。我刚刚更新到最新版本的ASP.NET Core 2.1和最新版本的Visual Studio 2017。

该类起作用,从调试器启动时,一个客户端连接。我可以在调试器中看到它,并且可以在客户端看到它,因为我记录了连接后发送的“ userobject”。客户端保持连接状态。

在第二步中,我将IPbxConnection注入到集线器中,该集线器也正常工作(我可以在调试器中看到有效的对象)。IPbxConnection实现将在5秒钟后调用OnUserUpdated处理程序(我现在通过IPbxConnection实现中的计时器回调来执行此操作以进行测试)。这总是会导致将对象处置异常抛出到Clients对象上。如何在此回调中向所有客户端发送通知?似乎Clients对象不会保持其状态,并且仅在消息处理程序中有效……但是,我想一直将信息推送到客户端。

public class PresenceHub : Hub
{
    //Members
    private IPbxConnection _connection; 

    /// <summary>
    /// Constructor, pbx connection must be provided by dependency injection
    /// </summary>        
    public PresenceHub(IPbxConnection connection)
    {
        _connection = connection;
        _connection.OnUserUpdated((e) =>
        {                
            Clients.All.SendAsync("UpdateUser", "updateuserobject");
        });
        _connection.Connect();
    }

    /// <summary>
    /// Called whenever a user is connected to the hub. We will send him all the user information
    /// </summary>
    public override async Task OnConnectedAsync()
    {            
        await base.OnConnectedAsync(); …
Run Code Online (Sandbox Code Playgroud)

c# signalr asp.net-core asp.net-core-signalr

5
推荐指数
3
解决办法
3024
查看次数

如何在 Mediatr 中为所有请求定义一个特定的异常处理程序

我在 ASP.NET core 项目中使用 Mediatr 来处理所有请求。我实现了几个请求/响应/处理程序。它们中的每一个都可以抛出一个特定的异常,我们将其称为“MyException”类。我将异常处理程序定义为

    public class MyExceptionHandler : RequestExceptionHandler<MyRequest<MyResponse>, MyResponse, MyException>
    {
        protected override void Handle(MyRequest<MyResponse> request, MyException exception, RequestExceptionHandlerState<MyResponse> state)
        {
            MyResponse response = new MyResponse();
            //Set some specific properties here in the response to indicate an error occurred
            state.SetHandled(response);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我将此异常处理程序添加到 (Autofac) 依赖项容器中,如果我在 MyRequest 和 MyResponse 的 MyHandler 中抛出 MyException,则该异常处理程序有效。但是,我有数十个请求、响应和相应的处理程序。那么我如何为所有这些异常注册这个特定异常的异常处理程序(注意:所有响应都派生自同一个基类)。它尝试了类似下面的内容,但是,没有被调用。它仅在我给出实际类型时才有效,但这意味着我必须为每种类型创建一个异常处理程序,这远远不切合实际。关于如何解决这个问题有什么想法吗?

    public class MyExceptionHandler : RequestExceptionHandler<IRequest<BaseResponse>, BaseResponse, MyException>
    {
        protected override void Handle(IRequest<BaseResponse> request, MyException exception, RequestExceptionHandlerState<BaseResponse> state)
        {
            BaseResponse response = new BaseResponse();
            //Set some …
Run Code Online (Sandbox Code Playgroud)

c# autofac mediatr asp.net-core

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

protobuf-net缺少has_函数的可选字段?

我们使用协议缓冲区在本机C++应用程序之间进行通信,但也通过protobuf-net r666在本机C++应用程序和.NET应用程序(都是VS2012)之间进行通信.我们在可选元素的has_函数上严重依赖C++.

例如,如果我们有一个带有字段可选bool的消息,则可以是它未设置,设置为true或设置为false.

在C++中,可以使用函数has_field检查,如果设置,则可以使用get_field函数获取内容.如果未设置,并且调用了get_field,则get返回默认值,如果未显式设置,则返回false(对于布尔值).

这在C++中完美地工作,但是,在protobuf-net中,我们似乎找不到has_函数的等价物,并且,当收到消息时,该字段被添加到消息中并且其内容被设置为默认值,是假的.具有默认值的字段不是灾难,但问题是没有has_函数来检查它是否在消息中设置.

请告知这是否是一个错误,或者我们是否错过了protobuf-net中的内容并且这实际上是可行的

Thx提前.维姆

c# c++ protobuf-net

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