[FromRoute] 和 [FromBody] 默认情况下是不能同时使用的,会接收不到路由参数,但也不是完全没有办法。起码有两种办法可以使他们同时生效:一种是通过自定义 ModelBinder; 另一种则需要禁用掉框架默认的 “自动推断参数绑定来源”。
using (var scope = new TransactionScope())
{
// ...
scope.Complete();
}
TransactionScope 提供分布式事务的相关功能,但在单纯的数据库事务且不涉及到分布式的情况下,要想用好他可不容易。但是 TransactionScope 的代码写法又很美,有没有什么办法自己实现一个呢?
接入ES之后,json格式的日志在查找效率方面将会更加高效
将非 UTF-8 字符写入 Azure Storage Table 时会发生异常,Microsoft.WindowsAzure.Storage.StorageException: Unable to translate Unicode character xxx at index xxx to specified code page. 所以需要先从字符串中过滤掉非 UTF-8 的字符。
如果使用默认配置选项, AutoMapper 会自作主张的将值为 null 的集合类型的字段转换为空集合。
在向 HttpClient 添加 Header 时,默认会进行合法性检查,但有的时候,服务的提供者要求的 Header 并不总是合乎规范的。
如果在路由的最后一节中包含英文句号(.), 则会被识别为 “文件名.扩展名” 的形式,从而导致使用 StaticFileHandler,以静态文件的方式来处理请求,所以就会404。
搭建并使用私有的 nuget server 是很常见的,但是在进行包还原的时候,我们也需要指定 --configfile 参数才行。
如果使用 visual studio 为 AspNetCore 3.0 自动生成的 Dockerfile, 你可能会遇到跟我相同的问题:The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found.
winform中嵌入网页很简单,但是想要兼容性高的话,就不那么简单了。自带的 WebBrowser 控件使用本机IE内核,对网页中的javascript/css编写方式要求极高; WebKit.NET 虽然使用优秀的WebKit内核,却只有 x86 版本; 选来选去,只有Gecko内核的 GeckoWebBrowser 才能胜任了。