小编Ami*_*udi的帖子

UnityEngine.Events.Unityaction 与 System.Action 有什么区别?

UnityEngine.Events.Unityaction 与 System.Action 之间有什么区别。

我可以在 Unity 中使用 System.Action 吗?

我可以使用 lambda 作为 UnityAction 吗?

c# unity-game-engine unity5

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

在 dot net core 中初始化后台服务的正确方法

我有一项服务需要连接到 的另一项服务startup。另一项服务是Rabbitmq经纪人。

我正在监听一些事件,Rabbitmq因此我需要从应用程序启动时激活它。

我需要连接到两个不同的VHost,所以我需要创建两个连接。

问题是,当我启动应用程序时,它会不断创建连接,直到服务器崩溃!

在Rabbitmq管理中我可以看到很多Connection并且Channels被创建。

我不明白为什么会发生这种情况。

一般来说,我想知道在 dotnet core 中启动应用程序时连接到其他服务的正确方法是什么。

我正在使用此代码来执行此操作:

public void ConfigureServices(IServiceCollection services)
        {
            .....

            services.AddSingleton<RabbitConnectionService>();

            ...

            ActivatorUtilities.CreateInstance<RabbitConnectionService>(services.BuildServiceProvider());
        }
Run Code Online (Sandbox Code Playgroud)

RabbitConnectionService在我连接到的构造函数中Rabbitmq

public RabbitConnectionService(IConfiguration configuration)
        {   
            ServersMessageQueue = new MessageQueue(configuration.GetConnectionString("FirstVhost"), "First");
            ClientsMessageQueue = new MessageQueue(configuration.GetConnectionString("SecondVhost"), "Second");
        }
Run Code Online (Sandbox Code Playgroud)

消息队列类:

public class MessageQueue
    {

        private IConnection connection;

        private string RabbitURI;
        private string ConnectionName;

        static Logger _logger = LogManager.GetCurrentClassLogger();

        public MessageQueue(string connectionUri, string connectionName)
        {
            ConnectionName = …
Run Code Online (Sandbox Code Playgroud)

c# rabbitmq asp.net-web-api asp.net-core

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

如何可视化所有请求的平均响应时间

我有一个指标http_request_duration_seconds,它是基于操作的直方图,

http_request_duration_seconds ASP.NET Core 应用程序处理的 HTTP 请求的持续时间。类型 http_request_duration_seconds 直方图

哪些数据是:

http_request_duration_seconds_sum{code="200",method="GET",controller="Player",action="Load"} 0.4301564
http_request_duration_seconds_count{code="200",method="GET",controller="Player",action="Load"} 1
http_request_duration_seconds_sum{code="200",method="POST",controller="Auth",action="Token"} 0.2790333
http_request_duration_seconds_count{code="200",method="POST",controller="Auth",action="Token"} 1
Run Code Online (Sandbox Code Playgroud)

现在在 Grafana 中,我想可视化指定时间范围(例如 5 分钟)内所有操作的平均响应时间。

在此示例数据中,我此时所需的输出应该是(0.43 + 0.27) / ( 1 + 1)

promql执行此操作的查询是什么?

grafana prometheus promql

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

NHibernate - 无法执行查询

我想用NHibernate获取所有门票.

[Authorize]
[HttpGet]
[Route("getUserTickets")]
public async Task<IHttpActionResult> GetUserTickets()
{
    return Ok(Ticket.GetTicketsByUserName(User.Identity.Name.GetUserName()));
}
Run Code Online (Sandbox Code Playgroud)

这是GetTicketsByUserNameMethod:

public static List<Ticket> GetTicketsByUserName(string userName)
        {
            using (var session = DatabaseController.SessionFactory.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var tickets = session.Query<Ticket>().
                        Where(x => x.User == userName).
                        ToList();

                    transaction.Commit();

                    return tickets;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
could not execute query [ select ticket0_.Id as Id1_, ticket0_.User as User1_, ticket0_.Agent_id as Agent3_1_, ticket0_.TicketStatus_id as TicketSt4_1_ from [Ticket] ticket0_ where ticket0_.User=@p0 ] …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate asp.net-web-api

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

使用具有一些空值的linq迭代数组

我有一个问题数组,其中一些是空的,其中一些有一些东西.像这样 :

Questions = {null , null , object , null , object}
Run Code Online (Sandbox Code Playgroud)

有没有办法在这个阵列上使用linq?

Questions.Where(x => x.someValue == OtherValue).ToList();
Run Code Online (Sandbox Code Playgroud)

这给了我错误

谢谢.

c# linq arrays

0
推荐指数
1
解决办法
905
查看次数