小编Sah*_*rma的帖子

rabbitmq什么时候使用基本拒绝而不是基本nack?

基本 nack 提供了对一条或多条消息返回否定确认的功能。

基本拒绝可以仅为一条消息返回否定确认。

我们是否有任何肯定需要基本拒绝的用例?

rabbitmq

14
推荐指数
2
解决办法
9100
查看次数

无法在visual studio for mac中找到包管理器控制台

我正在使用Visual studio for mac.我需要安装一些软件包但我找不到软件包管理器控制台.

Visual Studio版本:预览1(7.0 build 347)

visual-studio-mac

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

电话号码应该是字符串还是某种能够保存电话号码的数字类型?

我们想存储10位数的手机号码,即9999999999.它应该是数字还是字符串数据类型?我们不想对此进行任何计算或操作操作

哪个更好的记忆和性能明智?

c# sql telephony phone-number

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

FluentValidation:如何将所有验证消息放在一个位置?

这是我的验证类之一:

public class StocksValidator : AbstractValidator<Stocks>
    {
        public StocksValidator()
        {
            RuleFor(x => x.SellerId).GreaterThan(1).WithMessage("SellerId should be greater than 1")
                                    .LessThan(100).WithMessage("SellerId should be less than 100");
            RuleFor(x => x.SellerType).GreaterThan(101).WithMessage("SellerType should be greater than 101")
                                    .LessThan(200).WithMessage("SellerType should be less than 200");
            RuleFor(x => x.SourceId).GreaterThan(201).WithMessage("SourceId should be greater than 201")
                                    .LessThan(300).WithMessage("SourceId should be less than 300");
        }
    }
Run Code Online (Sandbox Code Playgroud)

我知道这些消息,例如{field}应该少于{x}应该位于公共位置,而不是这里。但是我不知道如何集中他们?

  1. 一种方法是使用所有这些常量字符串创建新的c#文件。这很简单。

  2. 在Web API中使用本地化和流畅的验证。这有什么好处。我在哪里可以找到好的教程?

c# asp.net localization fluentvalidation

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

C#分割字符串并删除空字符串

我想在拆分操作中删除空字符串和空字符串:

 string number = "9811456789,   ";
 List<string> mobileNos = number.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(mobile => mobile.Trim()).ToList();
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但这并没有删除空白项

c#

6
推荐指数
5
解决办法
8450
查看次数

如何使用单个查询获取弹性搜索中文档的排名?

我们有弹性搜索索引,其中包含具有股票 ID 和价格的文档。

我们想要构建一个系统,用户将股票 ID 作为输入,然后它会返回该文档的排名。我有两个问题可以解决这个问题:

  1. 获取该 ID 的价格,然后使用百分位数排名聚合,如下所示。这将返回百分位值,即

    {
        "size": 0,
        "aggs" : {
            "load_time_ranks" : {
                "percentile_ranks" : {
                    "field" : "price", 
                    "values" : <price_of_given_id>
                }
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
      2.

获取该 id 的价格,过滤大于或等于该价格的汽车,然后使用值计数聚合,如下所示。这将返回确切的排名,即

{
"size": 0,
 "aggs": {
   "sort_score_aggs": {
     "filter": {
       "range": {
         "price": {
           "gte": <price_of_given_id>
         }
       }
     },
     "aggs": {
       "rank_count": {
         "value_count": {
           "field": "price"
         }
       }
     }
   }
}
}
Run Code Online (Sandbox Code Playgroud)

在上述两种方法中,我们必须发出两个弹性搜索请求,即首先获取该文档 ID 的价格,然后查询以获得百分位数或排名。有没有办法在一个查询中获得排名或者有更好的方法来解决这个问题?

elasticsearch elasticsearch-aggregation

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

Mysql:查找引用特定表的所有存储过程

我想检查所有引用 mysql 中特定表的 SP/函数。我发现了一个我相信是在 sql server 中检查相同的查询:

SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%tablename%'
Run Code Online (Sandbox Code Playgroud)

但是在 mysql 中它说“表 sys.procedures 不存在”

mysql

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

REST API:单个API应该承担多重责任吗?

我们对商品网站进行了分类,我们没有登录,但用户可以查看其他用户列出的商品.要查看其他用户的详细信息,他们必须提供其联系详细信息.要验证用户是否提供了正确的手机号码,我们会将OTP代码发送回该号码.API流程如下所示:

1)//当用户填写表单以获取特定股票的卖家详细信息时要触及的API(这需要"stockId"和"mobile"作为输入):

POST /api/lead/
{
  "stockId":123,
  "mobile":9890384328
}
Run Code Online (Sandbox Code Playgroud)

如果"移动"已经过验证,API的响应(响应代码:200):

{
  "sellerName": "xyz",
  "sellerMobile": "+123232312",
  "sellerAddress": "21, park street, new york"
}
Run Code Online (Sandbox Code Playgroud)

如果"移动"尚未验证,则回复(响应代码:403):

{
   "OTP verification required. OTP is sent to the mobile number."
}
Run Code Online (Sandbox Code Playgroud)

2)用户在移动设备上收到的OTP再次向同一个引导API发回请求:

{
      "sellerName": "xyz",
      "sellerMobile": "+123232312",
      "sellerAddress": "21, park street, new york",
      "otp": 1234
}
Run Code Online (Sandbox Code Playgroud)

如果OTP正确,它会发回卖家详细信息作为回应.如果提供的OTP不正确,则响应为:

{
  "Incorrect OTP."
}
Run Code Online (Sandbox Code Playgroud)

我在这个API设计中看到了一些问题:

  1. 这个API正在做很多工作,即返回卖家详细信息,返回OTP,验证OTP等.我们可以轻松地将OTP相关功能打破到其他API.例如,一个用于生成OTP的API,即GET/api/otp /,其他用于验证OTP的API,即POST api/verifyotp /.这会增加来自客户端的API调用次数,即第一个客户端将启动POST引导API,如果未验证数量,客户端将命中OTP API.要通过OTP验证,它将调用verifyOTP api.如果获得验证,则会调用潜在客户API来获取卖家详细信息.因此,基本上它在上述方法中进行了4次API调用和2次API调用.
  2. 这不是HATEOS的抱怨,它暗示"REST客户端通过一个简单的固定URL进入REST应用程序.客户端可能采取的所有未来操作都是在服务器返回的资源表示中发现的."

有人可以建议哪种方法更好吗?

api rest hateoas restful-architecture

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

命令提示符下的curl无法解析localhost

我试图通过卷曲运行一些弹性命令.

在命令提示符下,当我输入:curl www.google.com - 工作正常curl localhost:9200 - 在这里托管的弹性搜索,工作正常

但是,命令:curl -XPOST'localhost:9200/bank/account/_bulk?pretty'--data-binary"@ accounts.json"给我错误:无法解析主机:'localhost

下面是快照.窗口cmd中的错误

有人可以建议我如何纠正这个?或者,如果我能以某种方式使用邮递员或其他一些http客户端来运行此命令?

curl elasticsearch

3
推荐指数
2
解决办法
5612
查看次数

我们可以仅使用DTO代替ViewModel吗?

我们目前将DTO用于Web API请求和响应

并使用ViewModel将数据传递到MVC中的View

目前,我们有:

  1. DTO作为单独的项目
  2. ViewModel在UI项目中(与Controllers一起的另一个文件夹)

在我们的案例中,我看到的唯一区别是DTO必须通过导线传递并以JSON形式发送,而ViewModel必须在视图内部传递以呈现为HTML。

我们应该为MVC应用程序和我们的App /其他客户端保留单独的传输对象,还是仅通过DTO完成这两项工作,即在视图内部传递DTO,而不是在ViewModel上传递?它可能有什么缺点?

在这里阅读了许多回复但是在我们的案例中,没有示例,也没有令人信服的理由将ViewModel和DTO分开。

c# asp.net-mvc dto viewmodel asp.net-mvc-viewmodel

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