小编Kub*_*ski的帖子

在 ASP.NET 5 中创建基于每个请求控制器/动作的格式化程序

我正在尝试在我的 ASP rest API 中实现 HATEOAS,将ReferenceResolverProvider.

问题是,根据我使用的控制器,我想使用不同的ReferenceResolvers,因为我需要对每个控制器采取不同的行为。

现在我有通用选项:

services.AddMvc()
            .AddJsonOptions(option => option.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver())
            .AddJsonOptions(options => options.SerializerSettings.ReferenceResolverProvider = () => new RoomsReferenceResolver<Room>())
            .AddJsonOptions(options => options.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects);
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

services.AddMvc()
            .AddJsonOptions(option => option.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver())
            .AddJsonOptions<RoomsController>(options => options.SerializerSettings.ReferenceResolverProvider = () => new RoomsReferenceResolver<Room>())
            .AddJsonOptions(options => options.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects);
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net hateoas asp.net-core

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

try {..} catch {...}与最终和没有它之间的区别

这样的代码有什么区别:

string path = @"c:\users\public\test.txt";
System.IO.StreamReader file = new System.IO.StreamReader(path);
char[] buffer = new char[10];
try
{
    file.ReadBlock(buffer, index, buffer.Length);
}
catch (System.IO.IOException e)
{
    Console.WriteLine("Error reading from {0}. Message = {1}", path, e.Message);
}

finally
{
    if (file != null)
    {
        file.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

还有这个:

string path = @"c:\users\public\test.txt";
System.IO.StreamReader file = new System.IO.StreamReader(path);
char[] buffer = new char[10];
try
{
    file.ReadBlock(buffer, index, buffer.Length);
}
catch (System.IO.IOException e)
{
    Console.WriteLine("Error reading from {0}. Message = {1}", path, e.Message);
} …
Run Code Online (Sandbox Code Playgroud)

c# try-catch try-catch-finally

6
推荐指数
2
解决办法
1667
查看次数

如何为压缩和解压缩的方法编写单元测试?

我需要为压缩和解压缩ArraySegment对象的方法编写单元测试.这些方法中有很多奇怪的处理方法,我不需要理解.(他们也使用一些系统方法 - 我不知道他们的实现.)

问题在于如何实际测试这些东西.我可以检查具体输入的压缩方法的结果是什么Lorem ipsum dolor sit amet, consectetur adipisicing elit.- 并根据此实验创建一个测试用例,但此解决方案不测试任何边界情况.

我还可以测试在某些序列上进行压缩然后解压缩是否给出了第一个输入序列,但这不是纯粹的单元测试.

你遇到过这样的问题吗?它有什么好的解决方案吗?

c# compression testing unit-testing testcase

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