2020年11月

Fiddler 系统代理已更改,点击重新启用捕获 解决办法

分析

发现每次启动浏览器的时候,Fiddler都会提示“系统代理已更改...”,并且同时会有一个叫做“成都市人力资源和社会保障局”的密码输入控件弹框提示错误,因为此类密码安全输入控件都会与浏览器关联,因此我直接判断是由该控件导致的。

于是我卸载之后,一切正常

解决

  1. IE浏览器 → Internet选项 → 安全 → (中间4个) → 启用保护模式(去掉勾选)→ 确定
  2. 控制面板 → 卸载各种密码安全输入控件

材料:

web.config 配置

如下配置文件实现了从http://localhost:8000下api子目录请求api时,重写至http://localhost:8001/api的效果,
且条件为 Host:localhost:8000URL:/api/(.*) 的匹配规则。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="api">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="localhost:8000" />
                        <add input="{URL}" pattern="/api/(.*)" />
                    </conditions>
                    <action type="Rewrite" url="http://localhost:8001/api/{C:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

参考:

C#实体对象序列化成Json,并让字段的首字母小写
C# api 字段 小写

引言

最近在工作中遇到与某些API对接的post的数据需要将对象的字段首字母小写。
解决办法有两种

第一种

使用对象的字段属性设置JsonProperty来实现(不推荐,因为需要手动的修改每个字段的属性)

public class UserInfo
{
    [JsonProperty("id")]
    public int Id{ set; get; } 
    
    [JsonProperty("userName")] 
    public string UserName{ set; get; } 
}

第二种(推荐)

使用newtonsoft.json来设置格式化的方式(推荐使用)

var user = new { Name = "john", Age = 19 }; 
var serializerSettings = new JsonSerializerSettings 
{ // 设置为驼峰命名 
    ContractResolver = new CamelCasePropertyNamesContractResolver() 
}; 
var userStr = JsonConvert.SerializeObject(user, Formatting.None, serializerSettings);

参考:
https://blog.csdn.net/weixin_33694172/article/details/85998910