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 开发者们都知道在高端智能手机系统中 ...
随机推荐
- git revert和rebase
当前多个commit,想把这几个commit合并成一个,但是想把其中某个commit add2的去掉, 用git revert add2的commit_id,这里只是撤销那次代码提交,后面的add3的 ...
- 【大白话系列】MySQL 学习总结 之 COMPACT 行格式的设计原理
如果大家对我的 [大白话系列]MySQL 学习总结系列 感兴趣的话,可以点击关注一波. 一.回顾 MySQL 学习总结系列至此已经第七节了. 从大方向:我们已经学习了 MySQL 的架构设计.Inno ...
- 刷题94. Binary Tree Inorder Traversal
一.题目说明 题目94. Binary Tree Inorder Traversal,给一个二叉树,返回中序遍历序列.题目难度是Medium! 二.我的解答 用递归遍历,学过数据结构的应该都可以实现. ...
- Nginx三大主要功能
1.做静态资源服务器,可以用于前端项目发布,图片文件文件等静态服务器. 2.做反向代理服务器,域名往往配置在Nginx上,真正的业务服务器躲在其身后. 3.做负载均衡服务器,作为负载集群的入口网关. ...
- [20200211]使用DBMS_SHARED_POOL.MARKHOT与sql_id的计算.txt
[20200211]使用DBMS_SHARED_POOL.MARKHOT与sql_id的计算.txt --//以前写的,使用DBMS_SHARED_POOL.MARKHOT标记热的sql_id,这样相 ...
- vue移动端下拉刷新、上拉加载
由于自身的项目比较简单,只有几个H5页面,用来嵌入app中,所有没有引入移动端的UI框架,但是介于能让用户在浏览H5页面时有下拉刷新和上拉加载,有更好的用户体验,自己写组件实现. 1.下拉刷新Drop ...
- #《Essential C++》读书笔记# 第二章 面向过程的编程风格
基础知识 函数必须先被声明,然后才能被调用(被使用).函数的声明让编译器得以检查后续出现的使用方式是否正确--是否有足够的参数.参数类型是否正确,等等.函数声明不必提供函数体,但必须指明返回类型.函数 ...
- JAVA面向对象 - 抽象类、接口
抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类,用abstract关键字来修饰一个方式时,这个方法就是抽象方法.当一个类继承的父类是抽象类的话,需要我们把抽象类中的所有抽象方法全部实 ...
- 快速读写模板(int)
一.快速读入模板(int) inline int read(int x){ char ch=getchar(); int x=0,f=1; while(ch>='9'||ch<='0'){ ...
- JVM第二篇 类加载子系统
1.内存结构概述 简图 详细 2.类加载器与类加载的过程 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识[CA FE BA BY ...