小编Ale*_*exK的帖子

将cookie设置为Asp.Net Core TestServer的httpClient

我正在使用TestServer测试ASP.NET Core应用,并且有些控制器需要Cookie身份验证。我已经创建了这样的测试服务器实例:

_testServer = new TestServer(new WebHostBuilder()
            .UseEnvironment(CustomEnvironments.Test)
            .UseContentRoot(currentDirectory)                
            .UseStartup<Web.Startup>()
            .UseUrls("http://localhost/"));

ApiClient = _testServer.CreateClient();
Run Code Online (Sandbox Code Playgroud)

现在我必须添加身份验证Cookie,但服务器会忽略它。如果可以直接创建客户端,则可以将其传递HttpClientHandler给承包商UseCookies,并将其设置为false,它可以工作,但是当我从测试服务器获取客户端时,我无法访问处理程序。有没有一种方法可以添加身份验证cookie来测试客户端?

c# testing cookies asp.net-core

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

C#中的数组大小验证

我有一个带有整数输入数组的控制器方法,它不能为null或大于10个元素.为了验证输入,我做了一个课程:

public class TestForm
{
    [Required]
    [MaxLength(10)]
    public long[] feedIds { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和控制器方法:

[HttpPost]
public async Task<IActionResult> DoSomeJob(TestForm form)
{
    //Do some job
}
Run Code Online (Sandbox Code Playgroud)

根据MSDN,System.ComponentModel.DataAnnotations.MaxLength可以用于数组,但是没有验证,它获取null和任何大小的数组.我究竟做错了什么?

c# validation asp.net-core-mvc

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