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 开发者们都知道在高端智能手机系统中 ...
随机推荐
- 使用Webpack的代码拆分在Vue中进行懒加载
参考学习:https://alexjover.com/blog/lazy-load-in-vue-using-webpack-s-code-splitting/ 学习文案:https://webpac ...
- 【5min+】后台任务的积木。.NetCore中的IHostedService
系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...
- mysql 使用 limit ,从指定条数读取完,-1失效
, 原因很简单这种写法本身就是错的,虽然它可以在之前的版本中运行(低优先级),新版本的mysql对此做出了修复,现在的替代方法是第二个参数用一个较大的正数代替 比如你写个 , 感觉这方法很蠢,然鹅我并 ...
- 20200117 .net 001
第一部分:面向对象 封装 继承(里氏转换) 多态第二部分:值类型.引用类型.字符串操作第三部分:集合文件操作第四部分:正则表达式第五部分:XML操作第六部分:委托.事件第七部分:反射. 1.变量的命名 ...
- vue更改数组中的值
根据下标更改时 vm为新建的vue对象 ind为数组 第一个e为在数组ind中e索引位置 第二个e为更改为值e vm.$set(vm.ind,e,e) 常规更改 arr为数组 //添加 arr.pus ...
- 高级UI组件
1.进度条 (1).圆形进度条(一般默认为圆形进度条) <ProgressBar android:layout_width="wrap_content" android:la ...
- 最短路径:初涉Dijkstra算法
模板题目:https://www.luogu.com.cn/problem/P1339 我的代码: #include<cstdio> #include<cstring> #in ...
- 汇桔网被曝拖欠12月份工资至今,强制买产品,CEO称去年交易额超400亿
三言财经消息,近日有汇桔网员工爆料,汇桔网拖欠12月工资至今,通知延迟到4月才发放. 此外爆料还指出,"各种手法逼迫大家离开,员工要么继续忍受,要么主动离职,要么停薪留职.都不同意只能仲裁. ...
- Java Web 笔记(3)
8.JSP 8.1.什么是JSP Java Server Pages : Java服务器端页面,也和Servlet一样,用于动态Web技术! 最大的特点: 写JSP就像在写HTML 区别: HTML只 ...
- day8 编码2
#!/usr/bin/env python # -*- coding:utf-8 -*- #str --->byte encode 编码 s = '二哥' b = s.encode('utf-8 ...