小编use*_*566的帖子

即使应用程序没有正常结束,也要关闭RabbitMQ连接

我使用RabbitMQ.Client(运行时版本v2.0.50727,版本2.8.1.0)和C#.NET应用程序.

我创建这样的连接:

using (IConnection connection = _factory.CreateConnection())
{
    using (IModel channel = connection.CreateModel())
    {
        // code...
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我正确关闭应用程序,它只是关闭通道和连接.但是如果应用程序关闭不正确(例如,在PC上按下重启按钮),则不是.我想确保在我启动应用程序之前关闭所有不必要的连接(来自之前的会话甚至其他应用程序,如果错误的其他应用程序实例正在其他地方运行).

我知道我可能会使用心跳,但我的应用程序可能需要很长时间才能开始做任何事情(打开连接数小时而不使用).所以我认为心跳不是最好的事情.

如何关闭RMQ的所有打开的连接?(或者,更好的是,所有打开的连接,除了一个给定的IP)?

问候!

c# rabbitmq

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

检查 JSONPath 是否为空字符串

我有以下 JSON 字符串:

{
  "myKey": "myValue"
}
Run Code Online (Sandbox Code Playgroud)

我想检查这个字符串是否不为空。我可以做这个:

$.myKey
Run Code Online (Sandbox Code Playgroud)

获取 myKey 的值。我尝试将其更改为

$.[?(@.myKey.length()>0)]
Run Code Online (Sandbox Code Playgroud)

(根据本主题表达式使用 `jsonPath` 过滤掉具有空数组的元素)甚至是这样:

$.myKey.length()>0
Run Code Online (Sandbox Code Playgroud)

但我收到错误消息,它不是有效的 JSONPath 表达式。

我将“JsonPath Match”添加到项目中的测试步骤中。当我将其设置为

$.myKey
Run Code Online (Sandbox Code Playgroud)

然后按“从当前选择”,它就可以了。为了

$.[?(@.myKey != '')]
Run Code Online (Sandbox Code Playgroud)

当我按“从当前选择”时,我得到

“无效的 JsonPath 表达式”

我使用 SoapUI 5.4.0 但我不知道如何检查其 JsonPath 实现。如果字符串为空,我想得到 false。

如何检查 myValue 是否为空?谢谢!

jsonpath

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

按列列出<string []>列表

我有列表,我想按很多列排序.例如,string []有5个元素(5列),List有10个元素(10行).例如,我想开始按第1列排序,然后按第3列排序,然后按第4列排序.

如何用C#以最简单的方式完成?

我想过这样的算法:

  1. 删除与我不想用于排序的列对应的值
  2. 查找剩下的每个列,可以用来存储其值的最长字符串
  3. 将每一行更改为字符串,其中每个单元格占用的字符数与给定列的值的最大字符数一样多
  4. 为每个字符串值分配int和index
  5. 对这些字符串值排序
  6. 借助已排序的索引对实际数据进行排序

但我认为这个算法非常糟糕.如果可能的话,你能否建议我使用C#和.NET已有的功能?

c# arrays sorting list

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

OnModelCreating 中的环境检查

我正在 ApplicationDbContext.cs 的 OnModelCreating 方法中播种数据。我想总是添加一些数据,但也有条件地添加一些数据(仅当环境是开发时)。

我怎样才能做到这一点?我无法将方法签名更改为具有“IHostingEnvironment env”,因为在这种情况下它不会覆盖 OnModelCreating。

protected override void OnModelCreating(ModelBuilder builder)
Run Code Online (Sandbox Code Playgroud)

谢谢!

seeding entity-framework-core asp.net-core-mvc

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