在浏览器输入路径,程序会去Controllers文件夹找路径最后一段命名的XXXController,执行Get方法。
IIS打开网页和VS运行打开网页的端口号不一样,IIS使用手动配置的,VS使用一个调试端口。
IIS打不开网页,显示500.21:

NET没有注册到IIS:

启用或关闭Windows功能勾选了一些

IIS:

IIS能打开网页,主页没有配置,显示403:

连接数据库

数据库名称记得填,否则连的是master。
<ExceptionMessage>不支持关键字: "trust server certificate"。</ExceptionMessage>
改成TrustServerCertificate。
用户IIS/XXX登录失败

IIS程序池设置:

变成"无法打开数据库"

数据库设置:

拒绝了对象XXX的EXECUTE权限:


UnityWebRequest Post报错HTTP/1.1 415 Unsupported Media Type 415 ProtocolError
客户端要这样写:设置Content-Type。
cs
IEnumerator PostIE(string url, string json,AsyncReturn<string>ret,
UnityAction<AsyncReturn<string>>callback)
{
UnityWebRequest req = UnityWebRequest.PostWwwForm(url, "");
byte[] postData = System.Text.Encoding.UTF8.GetBytes(json);
req.uploadHandler = new UploadHandlerRaw(postData);
req.downloadHandler = new DownloadHandlerBuffer();
req.SetRequestHeader("Content-Type","application/json");
yield return req.SendWebRequest();
if (req.result == UnityWebRequest.Result.Success)
{
ret.ok = true;
ret.data= req.downloadHandler.text;
}
else
{
ret.ok = false;
ret.errorMsg = $"上传失败:{req.error}\n{req.responseCode}\n{req.result}";
}
callback?.Invoke(ret);
}
服务器Post(string value)收到的是null
原因:content type是application/json。转换成的json还要头尾加双引号,里面的"全部换成\"
cs
json = $"\"{json.Replace("\"","\\\"")}\"";
发出去的内容是这样的:
"{\"Id\":0,\"UserName\":\"王八蛋\",\"Password\":\"fadaad\",\"CreatedTime\":\"0001-01-01T00:00:00\",\"UpdateTime\":\"0001-01-01T00:00:00\"}"