asp.net web core 开发问题汇总(1)
1 ASP.NET Core 设置默认静态起始页
转载地址:ASP.NET Core 设置默认起始页(如default.html)
注:1 默认情况下ASP.NET Core应用程序时不支持静态文件的。
2 为静态文件提供存储的默认路径时wwwroot;【一定要新建wwwroot的文件夹】
2 转载自 .net core实现读取appsettings.json配置文件
3 转载自 .net core webapi 只允许POST
A 画线内容没有达到效果
通过 HttpMethodRouteConstraint 路由约束可以轻松搞定,以下是 asp.net core 3.0 的示例代码
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}",
constraints: new RouteValueDictionary(new { httpMethod = new HttpMethodRouteConstraint("POST") }));
});B Cotroller 文件中 不实现HttpGet方法 (访问会显示404错误)4 转载[.NET] 利用 async & await 进行异步 操作5 读取post参数时,报错以下错误
Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.
翻译:不允许同步操作。调用ReadAsync或将AllowSynchronousIO设置为true。
原因:.net core 默认是异步读取Stream,不允许同步。
解决:
// 适用于.net core 3.0
string s = "";
using (var buffer = new MemoryStream())
{
Request.EnableBuffering();
Request.Body.Position = ;
// Request.Body.CopyTo(buffer); 修改前
Request.Body.CopyToAsync(buffer); //修改后
byte[] b = buffer.ToArray();
s = System.Text.Encoding.UTF8.GetString(b, , b.Length);
}
6 设置appsetttings.json文件目录为网站根目录。
直接 ‘网站根路径’+appsetttings.json
提示错误 The configuration file 'appsettings.json' was not found and is not optional
.net Core 3.0 中不支持 目录+名称 的方式。
Configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) //添加这行
.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
.Build();
Directory.GetCurrentDirectory() 当前工作的目录
7 json字符串放入key/Value列表
var postparamlist = new Dictionary<string, string>();
var jsonDocument = JsonDocument.Parse(postparamjson);
for (int i = ; i < jsonDocument.RootElement.GetArrayLength(); i++)
{
var curElement = jsonDocument.RootElement[i];
var key = curElement.GetProperty("name").ToString();
var value = curElement.GetProperty("value").ToString();
postparamlist.Add(key, value);
}
8 json文件读写
转载自https://blog.csdn.net/a15236307900/article/details/72130032
关键代码:
string all = jo.ToString();
string neame= jo["name"].ToString();
int age = int.Parse(jo["age"].ToString());
string city = jo["address"]["city"].ToString();
string baiduUrl = jo["links"][1]["url"].ToString();
所赋值可以是string,int,boolean,JTken,JObject.,JArray
创建一个空("{ }")的JObject对象,通过一定的顺序和方法,将原jo中的数据赋值到空JObject,可以实现增删排序等效果.
9 json写入 提示“”Can not add Newtonsoft.Json.Linq.JValue to Newtonsoft.Json.Linq.JObject.“”
转载自https://blog.csdn.net/zhouyingge1104/article/details/83307637
关键点
如果是对象
//{"code":200,"检测编号":"JC1810231520411","message":"OK"
string resp =""
JObject respObj = (JObject)JsonConvert.DeserializeObject(resp);
如果是字符串
var str = "[{\"" + key + "\":\"" + value + "\"}]";
var a=JArray.Parse(str);
10 System.Text.Json 中文乱码问题
Newtonsoft.Json 一直使用的就是非严格模式咯, 而我们习惯使用的也是这种模式.
string bJsonString = System.Text.Json.JsonSerializer.Serialize(
value: jsonObject,
options: new System.Text.Json.JsonSerializerOptions
{//Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(allowedRanges: UnicodeRanges.All) 第一种
Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping第二种});
asp.net web core 开发问题汇总(1)的更多相关文章
- asp.net web core 部署问题汇总
记录所有部署时遇到的问题. 微软官网部署说明 转载自:.NET Core 3.0 构建和部署(测试过可以使用) A 单文件可执行文件(文件体积较大,合并所有依赖) asp. ...
- Asp.Net Web API开发微信后台
如果说用Asp.Net开发微信后台是非主流,那么Asp.Net Web API的微信后台绝对是不走寻常路. 需要说明的是,本人认为Asp.Net Web API在开发很多不同的请求方法的Restful ...
- ASP.NET Web Froms开发模式中实现程序集的延迟加载
延迟加载是一个很大的诱惑,可以达到一些比较好的效果,比如: 1.在实体框架中,由于关联数据的数量和使用时机是不确定的,通过延迟加载,仅在使用的时候去执行关联数据的查询操作,减少无谓的数据查询操作,可以 ...
- 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战
微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...
- 移动平台WEB前端开发技巧汇总(转)
最近我很关注移动前端的知识,但做为一个UI设计师和web前端工作人员没有这个工作环境接触,做为门外汉,网上系统的知识也了了,一直有种雾里看花的感觉,见到本文,我自己是奉为经典.所以我分享之后又专门打笔 ...
- 水果项目第3集-asp.net web api开发入门
app后台开发,可以用asp.net webservice技术. 也有一种重量级一点的叫WCF,也可以用来做app后台开发. 现在可以用asp.net web api来开发app后台. Asp.net ...
- [目录]ASP.NET web api开发实战
第一章:Restful web service v.s. RPC style web service 第二章:ASP.NET web api v.s. WCF v.s. ASP.NET web ser ...
- asp.net web系统开发浏览器和前端工具
1. Firefox浏览器+firebug插件 下载安装Firefox浏览器后,在菜单-附加组件-扩展中,搜索firebug,下载长得像甲虫一样的安装. 在web调试中,直接点击右上角的虫子,即可调出 ...
- 移动平台WEB前端开发技巧汇总
原文 :http://uecss.com/mobile-platform-web-front-end-development-skills-summary.html 开发者们都知道在高端智能手机系统中 ...
随机推荐
- Windows server 2012 出现大量无名已断开连接用户清楚办法
打开cmd命令窗口,执行 taskkill /f /im winlogon.exe /t
- Maven 阿里云仓库地址
https://maven.aliyun.com/mvn/view 一般使用聚合仓库(group),path是仓库地址.可点击右上角“使用指南”: 附 目前阿里云仓库的地址 https://mav ...
- 准备工作-Visual Studio 安装
说明 网上很多安装教程,等到自己有时间的时候再写一篇自己安装的详细步骤 安装参考(网络) https://blog.csdn.net/qq_33485434/article/details/78454 ...
- DAG求最短路--TSP变形--状压dp
DAG状压dp的一种 题目: $m$个城市,$n$张车票,第i张车票上的时间是$t_i$, 求从$a$到$b$的最短时间,如果无法到达则输出“impossible” 解法: 考虑状态:“现在在城市$v ...
- 深入浅出 .NET C# 反射技术
反射这个词听起来就很牛逼是吧? 嗯的确,反射是比较高级的特性,只有语言基础很扎实的Dev们才应该使用它. 搞点反射,可以提高程序的灵活性.可扩展性.耦合度. 反射这东西,是为了动态地运行时加载,相比于 ...
- python选课系统作业
# 选课系统# 角色:学校.学员.课程.讲师# 要求:# 1. 创建北京.上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海 ...
- java动态拼接sql语句并且执行时给sql语句的参数赋值
问题 在这里举一个例子,比如我要做一个多条件模糊查询,用户输入的时候有可能输入一个条件,也有可能输入两个条件,这时执行查询的sql语句就不确定了,但可以用动态拼接sql语句来解决这个问题. 解决方法 ...
- 小白的linux笔记5:关于权限那些事
在设置smb时发现,目录的权限是个影响访问的大问题,还是得研究清楚. 关于文件权限 查看当前目录下文件和文件夹的权限状态:ls -l drwxrwxr--. 4 root root 4096 ...
- 【Android】Retrofi的基础使用教程
文章参考学习自 阳光沙滩 ,是我在B站上发现的宝藏Up主,超级棒! 在前段时间我写了一个java web后台,想做一个安卓端的打卡社区,后来发现请求和解析过于麻烦,就耽搁了. 趁着空闲,研究了一下大部 ...
- go 并发编程
进程 线程 协程 设置golang运行cpu数 1.主线程和协程同时执行 package main import ( "fmt" "strconv" " ...