ASP.NET Core
文章平均质量分 53
firechun
这个作者很懒,什么都没留下…
展开
-
ASP.NET Core 视图组件莫明其妙的错误
本地调试没问题,可以排除代码问题,实在是头大。具体现象就是在客户的服务器和公司内用于测试的服务器上,打开包含视图组件的页面,应该显示菜单的地方一片空白。标签仍然存在,也就是服务器上的ASP.NET Core没有把它识别为视图组件标签,没有进行编译,导致视图组件无法正常显示。被生成的HTML代码替换,这个是正确的,ASP.NET的标签,编译后就会被相应的HTML标签替换掉。今天更新时出现了一个莫明其妙的问题,在部署服务器上,菜单无法显示。对比本地调试和服务器的页面,发现本地调试的页面中,。原创 2023-03-02 11:48:15 · 155 阅读 · 0 评论 -
android真机调试时访问同一台电脑中的asp.net core后台
后端是asp.net core web api,前端是android app,之前调试前后端通信时,总是要把asp.net core项目发布到外网服务器上,很麻烦,于是想在android真机上直接访问本地调试状态的asp.net core后台。这是证书验证没通过的原因,用网上提供的方法在android app中没有解决,于是又从asp.net core这边想办法。第一次测试时,我傻到直接在android app中访问localhost,结果当然是400,无法连接服务器,自己想想也好笑。原创 2022-10-27 15:04:37 · 1427 阅读 · 0 评论 -
在CentOS上离线安装libgdiplus
其中libglvnd-glx和 mesa-libGL,libglvnd-egl和mesa-libEGL有一个循环依赖,即A依赖B,B又依赖A,因此安装libglvnd-glx和libglvnd-egl时加了。下载时注意一下,在最小化安装的CentOS7上面,libgdiplus一共是33个包文件,检查一下是否有遗漏,防止下载安装包的虚拟机上已经安装了某些依赖包,导致下载不完整。做为linux门外汉,虽然网上已经有不少相关内容,还是摸索了不少时间,记录一下。命令手动一个个安装。参数,即安装时忽略依赖关系。原创 2022-10-12 16:21:51 · 3185 阅读 · 0 评论 -
EF Core6.0中的函数映射
但是这个执行过程是先从数据表获取所有记录,再从这些记录中筛选符合条件的记录。EF Core中的LINQ查询最终都是被转换成SQL语句在数据库中执行,但并不是所有的C#方法都能被转换的。虽然结果一样,但执行性能差别很大。而且这里只是做个简单的比较,实际上在C#中这两种方式的性能差异比执行这两条SQL语句更大。第二是重写一个能被翻译成SQL语句的查询。第一就是自定义函数映射,也是本文主题,这个我们后面讲。最后就是第一种方法:自定义函数映射。方法查询,执行时没有任何问题。哪个性能更好是不言而喻的。......原创 2022-08-30 17:57:08 · 1901 阅读 · 0 评论 -
epplus复制模板后打印区域变小的问题
在ASP.NET MVC Core中,用户需要打印时,从事先做的Excel模板中把Sheet复制过来,然后填充数据,最后返回文件流,用epplus实现,关键代码如下:代码本身没有问题,生成的文件中的数据和格式也没有问题。但是打印时发现,在模板文件设置好的打印区域,在新文件中“变大了”,也就是模板文件中一张A4纸刚好打印完的内容,在新文件中,一张A4纸打印不下了。对照模板文件和新文件,打印设置完全一样。因为对Excel并不熟悉,epplus也没有完整文档,所以不清楚复制一个Sheet到另一个文件中,要想保持原创 2022-06-22 12:02:56 · 402 阅读 · 0 评论 -
JQuery处理blob类型的Response的问题
在一个ASP.NET Core MVC的控制器中,根据条件,可能返回一个Excel的文件流,也可能返回一个Json的错误信息,代码类似如下:在前端,我用jquery的ajax访问后台不管是返回json还是文件流,控制台的输出都是。我一度以为是我的后台问题,我甚至把返回Json的代码改成这样:结果还是一样。我把前端代码中的删掉,调用倒是没问题了,但不管是文件流还是json,返回的形式都变成了Text。我在ajax函数的success回调中打印xhr对象,才发现jquery封装的这个xhr对象,只提原创 2022-06-06 16:27:25 · 3517 阅读 · 0 评论 -
关于EF Core中同一个实体被多次tracked的问题
先来看一段错误提示:The instance of entity type ‘XXXX’ cannot be tracked because another instance with the same key value for {‘Key’} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.原创 2022-05-11 15:36:21 · 6103 阅读 · 1 评论 -
在最小化安装的CentOS 7上离线部署.net core项目
客户服务器禁止连接外网,因此必须离线部署.net core项目。因为客户服务器的CentOS 7是最小化安装的,因此需要安装httpd服务。在安装光盘的Packages目录下找到httpd-2.4.6-95.el7.centos.x86_64.rpm和httpd-tools-2.4.6-95.el7.centos.x86_64.rpm两个文件,复制到虚拟机中,首先安装httpd看一下:rpm -ivh httpd-2.4.6-95.el7.centos.x86_64.rpm需要先安装依赖包。所需原创 2022-05-07 16:40:07 · 2653 阅读 · 1 评论 -
在CentOS 7中部署ASP.NET Core应用
注册Microsoft密钥和源sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm更新可供安装的产品sudo yum update安装.NET SDK,安装完成后可以用dotnet --info来确认一下。sudo yum install dotnet-sdk-6.0将asp.net core应用发布到本地文件夹。在CentOS中创建一个文件.原创 2022-04-18 15:44:29 · 1500 阅读 · 0 评论 -
在CentOS 7中安装Docker
可以先尝试卸载旧版本的Docker引擎及相关依赖项。sudo yum remove docker docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrot原创 2022-04-14 18:03:22 · 99 阅读 · 0 评论 -
ASP.NET Core 5.0与MySql
创建ASP.NET Core 5.0项目后,通过NuGet包管理器安装Pomelo.EntityFrameworkCore.MySql时会出现警告,表示Pomelo.EntityFrameworkCore.MySql 3.2.4依赖的Microsoft.EntityFrameworkCore.Relational 版本必须>= 3.1.8 && < 5.0.0,而5.0项目中安装的Microsoft.EntityFrameworkCore.Relational必须高于或等于5.0原创 2020-12-17 17:21:21 · 1365 阅读 · 0 评论 -
在Blazor项目中结合数据库及身份验证的尝试
初次接触Blazor项目,很喜欢这个框架,使我等C#程序员不必再花时间和精力去学习各种前端UI框架。手头的项目正好要做一个界面丰富的前端,于是决定用Blazor Server来做。项目分为前端和后台管理,后台管理已经用ASP.NET Core MVC完成。前端和后台共享一个数据库,前端主要是查询和展示,有少量提交和更新。微软在github中的AspNetCore源码中提供了Blazor Server使用EF Core的源码:下载在源码目录aspnetcore\blazor\common\samples原创 2020-12-09 10:44:42 · 2173 阅读 · 1 评论 -
asp.net core 3.1 web api跨域访问
允许web api跨域访问,需要在StartUp的方法中添加跨域服务://StartUp的两个方法中public void ConfigureServices(IServiceCollection services){ services.AddCors(options => { //any为策略名称,后面在web api控制器中添加的跨域策略名称要与此一致 options.AddPolicy("any", builder => {原创 2020-11-14 16:32:30 · 352 阅读 · 0 评论 -
EF Core提交主子表与EF的不同
在EF中,同时提交主子表时,只需要调用一次SaveChange方法,子表会自动获取主表的外键值。//主表public class Order{ public int Id { get; set; }}//子表public class OrderItem{ public int Id { get; set; } //外键 [ForeignKey("Order")] public int OrderId{ get; set; } public Order Order { get; se原创 2020-11-11 09:42:23 · 1252 阅读 · 0 评论 -
ASP.NET Core MVC项目注意事项
如果创建项目时选择的是默认的“不进行身份验证”,然后手动在项目中加入Identity验证框架,记得要在Startup的Configure方法中加入app.UseAuthentication();,不然验证是不起作用的。之所以要手动在项目中加入Identity框架,是可以避免自动创建验证框架时加入的不必要的文件。我一直都是这么做的,但有时候难免忘记修改Configure方法,导致登录成功后仍然会返回登录页面。这里记上一笔,免得下次又忘记了。...原创 2020-09-04 11:26:02 · 118 阅读 · 0 评论 -
asp.net core mvc和web api在post数据时的不同之处
ASP.NET MVC编写WEB API POST方法,参数较少时,一般直接指定多个参数,如:[HttpPost]public async Task<IActionResult> Login(string userId, string password)前端使用jquery ajax调用时,如果直接使用$.post方法:$.post(url, {userId: 'user', password: '123'})在服务器端是接收不到userId和password这两个参数值的。这是因原创 2020-08-06 11:21:04 · 410 阅读 · 0 评论 -
linq实现左连接的两种写法
goods中的数据:categoryId = 1, count = 4categoryId = 3, count = 1categoryId = 10, count = 15db.Categories表中包含完整的类别数据。现在需要查询db.Categories左连接goods表,要得到如下查询结果:categoryId = 1, count = 4categoryId = 2, count = 0categoryId = 3, count = 1,categoryId = 4, coun原创 2020-06-22 17:18:28 · 3625 阅读 · 0 评论 -
在控制器之外调用数据上下文
ASP.NET Core的DbContext初始化和ASP.NET不同,ASP.NET在控制器之外调用数据上下文时,可以直接创建数据上下文对象,数据上下文基类DbContext会根据构造函数中指定的连接字符串来初始化数据上下文。 public class AdvContext : DbContext { //ASP.NET的数据上下文构造函数,通过指定连接字符串的名称初始化数据上下文 public AdvContext() : base("name=AdvContextTest")原创 2020-06-13 10:40:13 · 288 阅读 · 0 评论 -
.net core3 json序列化嵌套对象的问题
两个类public class CookingMenu{ public int Id { get; set; } public string Name { get; set; } public List<MenuItem> MenuItems { get; set; }}public class MenuItem{ public int Id { get; set; } public int MenuId { get; set; }原创 2020-06-07 22:25:45 · 1245 阅读 · 0 评论