RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-233299

QuaternioNoir's questions

Martin Hope
QuaternioNoir
Asked: 2020-08-05 13:03:43 +0000 UTC

单元测试和检查异常消息

  • 2

有一个单元测试检查在某些情况下会抛出异常,理论上可以有几个这样的异常,它们在消息属性的值上有所不同。有一个想法是检查message的值。这是一个好主意吗?会不会导致未来出现一些不可预知的转折,影响测试的可维护性等?他们真的这样做吗?

测试方法示例:

public void SomeTestMethod(string input)
{
    if (string.IsNullOrEmpty(input))
    {
        throw new BadRequestException("не указано значение параметра input");
    }
       
    if (input.Contains("drop"))
    {
        throw new BadRequestException("параметр input содержит недопустимый аргумент");
    }
}

测试:

[Fact]
public void SomeTestMethod_EmptyInput_ThrowException()
{
    // Act & Assert
    
    var exception = Assert.Throws<BadRequestException>(() => Sut.SomeTestMethod(string.Empty));
    
    Assert.Equal("не указано значение параметра input", exception.Message);
}

[Fact]
public void SomeTestMethod_EmptyInput_ThrowException()
{
    // Act & Assert
    
    var exception = Assert.Throws<BadRequestException>(() => Sut.SomeTestMethod("drop"));
    
    Assert.Equal("параметр input содержит недопустимый аргумент", exception.Message);
}
c#
  • 2 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-05-17 18:03:37 +0000 UTC

xhr 请求的问题

  • 0

有一个应用程序 - 带有 api 控制器的 asp net core mvc(只是一个包含 post/get 方法的控制器)。有一个前台用 xmlhttprequest 调用这些方法。在本地(当我开发和测试时),get 和 post 方法的工作方式相同,在布置 get 方法工作之后,但是在调用 post 404 时出错。因此,从邮递员那里一切正常。

控制器看起来像这样

[Route("api")]
public class ApiController : Controller 
{
[HttpPost]
[Route("someMethod")]
 public JsonResult Method() { ... } 
}

调用此方法的js代码

function DoXhrPostJson(model, url) {
        var result = document.getElementById("container");
        var xhr = new XMLHttpRequest();

        xhr.open("POST", url);
        xhr.setRequestHeader("Content-Type", "application/json");

        xhr.send(JSON.stringify(model));

        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                AddToResult(xhr.responseText);
            } else {
                result.innerText = xhr.status + ': ' + xhr.statusText;
            }
        }
    }

网址似乎通过了有效,http://some.site.ru/api/testing. 当通过此 url 向邮递员请求时,一切正常。获取方法没有问题。有什么问题?

Cors 允许这样,在 ConfigureServices 的 StartUp 文件中做了services.AddCors() 然后在 configure{ builder.AllowAnyOrigin(); builder.AllowAnyHeader(); builder.AllowAnyMethod(); });

javascript
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-05-16 16:46:56 +0000 UTC

计算哈希的问题

  • 1

我计算HMAC SHA1,算法如下:

    public static string Encode(string input, string key)
    {
        var byteArray = Encoding.ASCII.GetBytes(input);

        using (var hmacsha1 = new HMACSHA1(Encoding.ASCII.GetBytes(key)))
        {
            using (var stream = new MemoryStream(byteArray))
            {
                return hmacsha1.ComputeHash(stream).Aggregate("", (s, e) => s + String.Format("{0:X2}", e), s => s);
            }
        }
    }

考虑了hash,但是如果消息中包含\"字符(例如json序列化的对象),那么hash计算不正确,请问如何解决这个问题?

计算哈希的示例:Hello 消息,hello 键。我的代码给出了结果 9ADE18F3E0EE81A5343F4A005F795DBAF9CEEFD8,一些在线服务代码给出了完全相同的哈希值。Message hello\", key hello。我的代码给出89E81E2037598EFAB46FF882661EECD3FF409D73 一些在线服务c24001586dffaa049e74893babf11625995bd570

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-12-07 20:39:24 +0000 UTC

限制全局过滤器的范围

  • 1

Voznilka 以下问题,有一个带有一堆控制器的 rest api,并且有一个全局动作过滤器。需要将过滤器应用于所有控制器方法,除了几个特定的​​方法。如何限制过滤器的范围?为每个控制器或控制器方法指定过滤器属性的选项不合适。

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-11-02 13:46:52 +0000 UTC

Web api中的OnAthorization被多次调用

  • 0

添加了具有自己逻辑的授权属性。属性类继承自 AthorizeAttribute。向 api 发出请求时,OnAuthorization 会触发两次。这可能是什么原因,可以以某种方式修复吗?

我没有在 webconfig 或启动时为新属性添加任何数据。添加了继承自 AuthorizeAttribute 的 ExtendedAuthorizeAttribute 类。重新定义了 OnAuthorization 方法,添加了对 base.OnAuthorization(context) 的调用并添加了我自己的逻辑。经过测试,只留下 base.OnAuthorization(context) 该方法仍然有效。在我为属性定义了一个新类之后,我为需要授权的控制器添加了这个属性。之后,当调用 api 方法时,第一次 OnAuthorization 发生,然后是第二次,并且只有在控制权转移到 api 控制器之后(如果授权成功)。如果授权被拒绝,则该方法恰好执行 1 次。

.net
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-10-18 15:07:46 +0000 UTC

ASP.NET MVC 中的转发和过滤器

  • 0

阻止网站上的用户时出现问题。即,不了解如何自动打开包含有关阻止资源的信息的页面。也就是说,如果用户已被禁止,则在打开站点时,将完全打开阻止视图,而不是个人帐户、消息、主页等。请告诉我在哪个方向挖掘这样的问题?

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-10-02 15:57:58 +0000 UTC

使用正则表达式解析参数

  • 1

有一行——来自web服务器的响应,大致如下内容

parameter0=213123123&parameter1=abcd&parameter2=vdv3123cdc

如何使用正则表达式提取参数的值?像这样尝试过:var regex = new Regex(@"parameter0=.*?(&|\r\n)");

但是在这种情况下,它会返回parameter0=213123123&,理论上只需要拉出值即可。不幸的是,这个选项找不到参数2。

c#
  • 2 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-09-27 14:30:36 +0000 UTC

.net core 1.0 和 .net core 2.0 有什么区别?

  • 2

我开始研究.net core 1.0,然而,我最近发现该平台的第二个版本已经发布了。是否值得切换到它(如果情况类似于 angular 1 (js) 和 angular 2。也许有人使用过这两个版本的平台并且可以写出它们的主要区别?

.net-core
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-09-20 02:14:45 +0000 UTC

箭头运算符在属性声明的上下文中是什么意思

  • 3

我遇到了一段奇怪的代码

public EndPoint LocalEndPoint => _remote.LocalEndPoint;

我第一次遇到这个,请告诉我在哪里挖掘以了解它是什么?

在 microsoft.docs => lambda 运算符中,但我第一次看到它会以这种方式使用。

c#
  • 2 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-09-18 16:32:23 +0000 UTC

在 try/catch 块中执行代码

  • 0

有一组异步执行的方法。该方法的执行如下进行。创建一个任务 (Task),将try { 调用 method() } catch { error_handling }(作为 lambda 表达式)形式的构造传递给参数,
然后调用 Start()。实际上,这样的代码在调用方法组中是重复的,但是考虑到调用方法还包含try/catch结构(检查数据访问),这些方法变得很麻烦。我想要一个私有类方法,例如RunAsync (必须异步执行的方法)它已经有一个 try/catch 结构,并且在 try 块中调用传递的方法。原则上,任务是使用委托来解决的,但是异步方法有不同的签名,你不想为每个委托进行切割。有没有更好的方法来解决这个问题?同一个任务以某种方式接受一个表达式作为输入,然后执行,但它的工作原理尚不清楚。

例如,就像现在这样:

public void BeginAsyncMethod(paramType param){
    try{
        var repoValue0 = firstRepository.get(x=>x.id == param.id);
        var repoValue1 = secondRepository.get(x=>x.creationDate > param.creationDate);

        new Task(()=>{
            try{
                LongWorkingMethod(repoValue0,repoValue1);
            }catch(Exception ex){
                Diagnostics.TraceError(ex);
            }
            }).Start();
    }
    catch(Exception ex){
        Diagnostics.TraceError(ex);
    }
}

private void LongWorkingMethod(RepoParamType param0, RepoParamType param1){
    ...
}

如您所愿:

public void BeginAsyncMethod(paramType param){
    try{
        var repoValue0 = firstRepository.get(x=>x.id == param.id);
        var repoValue1 = secondRepository.get(x=>x.creationDate > param.creationDate);

        RunAsync(LongWorkingMethod(repoValue0,repoValue1)); 
    // или лямбдой ()=>{LongWorkingMethod(...);
    }
    catch(Exception ex){
        Diagnostics.TraceError(ex);
    }
}

private void LongWorkingMethod(RepoParamType param0, RepoParamType param1){
    ...
}

private void RunAsync(Method){
    try{
        Method.Invoke();
    }
    catch(Exception ex){
        Diagnostics.TraceError(ex);
    }
}
c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-07-07 05:23:06 +0000 UTC

奇怪的线描

  • 1

为什么无法在 .net winforms 中从窗体的一个角到另一个角绘制线段?下一个代码:

 private void Display_Paint(object sender, PaintEventArgs e)
 {
    this.CreateGraphics().DrawLine(Pens.Green, 0, 0, Width, Height);
 }

正如我认为我应该画这样的东西(感谢油漆): 但是,我得到以下 传输尺寸是正确的。我不明白这是怎么回事。
在此处输入图像描述

在此处输入图像描述

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-05-25 03:22:51 +0000 UTC

Java子串中的魔法

  • 2

java下移植代码到c#时遇到如下误区。有必要从一个字符串中提取一个子字符串,从 n 个字符的第 k 个位置开始。实际上,代码是:

str = "((15+3)+14/2+(7*2)+3^2+(12+(7*2)))";
System.out.println(str.substring(27, 5));

对我来说,作为一个稍微熟悉sharp的人来说,代码还是比较通俗易懂的,也比较合乎逻辑。字符串中有 33 个字符,实际上,我需要从 27 - 一个字符(到 32,一个字符)中获取一个子字符串。但结果我得到了 OutOfBoundException 错误。即使我想从位置 10 中取出 3 个字符。可能是什么问题呢?

java
  • 4 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-05-04 14:49:20 +0000 UTC

导出float类型变量的问题

  • 1

有一个无法理解的时刻,在float类型变量的输出。

#include <stdio.h>

int main(void) {
    float a = 123456789;
    printf("%f",a);
    return 0;
}

以下代码我认为应该输出123456789,然而,在实际情况下它输出123456792.000000。如果你尝试输入一些更简单的东西,比如900000008,那么最后一个数字8就消失了。如果你对int类型做同样的事情,一切都会完美显示。请告诉我问题是什么?

c
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-04-21 15:11:10 +0000 UTC

SQL Server数据导入问题(FIAS数据库)

  • 1

问题是是否有可能以某种方式自动化数据导入和类型映射?例如全局设置所有varchar字段都转换为nvarchar和23 to date?

将FIAS数据库的 *.dbf 文件导入 SQL Server 时出现问题。表中有varchar形式的字符串,还有服务器没有的数据类型(cryptic type 23,对应date)。现在,如果您注意到日期为 23(以便可以在不捕获错误的情况下执行导入)并导入表,则数据而不是西里尔字符包含问号。但是,在导入时,您可以为一个表设置一个映射(单击更改按钮),在这里您可以将 23 替换为日期,将 varchar 替换为 nvarchar。然后一切正常。但是,大约有 440 个表,我真的不想手动进行这样的操作。

import
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-03-23 20:45:52 +0000 UTC

拉取请求后的功能更新

  • 2

该项目有一个存储库。我进行了必要的编辑,实现了新功能。所有这些都是在一个单独的分支中完成的,问题号为 5131 (Git Flow)。然后,我将所有提交发送到 Pull Request,之后它们被合并到开发分支中。现在需要通过添加新功能来修改 5131 中的代码。最好的办法是创建一个分支 5131-1 以在其中添加必要的功能,或者使用您自己的分支为此案例创建一个单独的任务?

git
  • 2 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-03-14 17:28:53 +0000 UTC

如何在asp.net中获取枚举字段描述

  • 0

有一个包含某组值(状态)的枚举

public enum State : int {
CONNECTION_ERROR,
CONNECTION_COMPLETE,
WAIT_CONNECTION
}

该报告具有状态字段的值,并显示在视图中。实际上看起来像这样:状态:CONNECTION_COMPLETE。有必要显示可理解的文本而不是枚举字段的名称(连接错误、连接成功完成、等待连接)。尝试通过属性 [Display(name="...")] 没有帮助,显示了枚举中行的名称。也许有人知道如何解决这样的问题?

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-03-13 15:29:07 +0000 UTC

无法在 Visual Studio 中获取表数据

  • 0

在Visual Studio中,服务器资源管理器选项卡具有数据连接。但是,当我尝试读取数据时,出现错误 - “ The destination throw an exception ”。问题来了,怎么会误取信息呢,就是他引起了这个异常,怎么看呢,再一瞬间数据库前面有个红叉——这是不是代表连接不上数据呢?在此处输入图像描述

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-03-07 18:20:41 +0000 UTC

数据库问题

  • 0

问题如下。有两个类可以更新用户的简历。为了获得一份简历,我使用了我为其执行 Get 的存储库,并通过其 Id 获取用户的简历。这两个类都是通过 autofac 初始化的。在 A 类中,访问存储库时,一切正常,我得到一个摘要。B 类抛出异常。

在此处输入图像描述

如果有人知道怎么做,请告诉我在哪个方向挖掘。

附上附加信息 在此处输入图像描述

在异常详细信息中:错误 CS0103:当前上下文中不存在名称“$exception”。

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-02-20 16:49:44 +0000 UTC

ASP MVC 中的路由

  • 0

有一个控制器,其中定义了 GetAllPurchaseList 方法,当您切换到它时,系统会查找名为 GetAllPurchaseList.cshtml 的视图。使用该名称的视图不是很方便,是否可以告诉控制器方法选择不同的视图?通过 Route 尝试过,但由于某种原因它没有成功。

c#
  • 1 个回答
  • 10 Views
Martin Hope
QuaternioNoir
Asked: 2020-02-15 21:26:06 +0000 UTC

WinForm C# 中的事件处理

  • 0

存在以下问题:组件位于窗体上,窗体是在没有控件的情况下创建的,桌面上窗体移动的处理由“自己的”代码执行。特别是,处理单击窗体(按下/释放鼠标左键)和鼠标指针移动的事件。位于窗体上的组件占据窗体的整个空间,分别为它处理鼠标事件,而不是为窗体处理鼠标事件。有没有什么办法可以忽略组件的这些事件,但为表单处理它们?

c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5