遇到的问题当我把asp.netcoreweb发布到本地文件时,我发现程序读的是appsettings.Production.json,也就说明当前的ASPNETCORE_ENVIRONMENT=Production。请问如何动态修改ASPNETCORE_ENVIRONMENT的值,这样的话在调试和发布阶段都非常灵活了,但我尝试在下面几个地方修改都没有成功。。。windowssettings.pubxmlfilelaunchSettings.jsonproject.json解决方案有下面几个解决方案。修改.csproj文件...
继续阅读 >
分类:ASP.NET
2021
04-27
04-27
ASP.NET 上传文件到共享文件夹的示例
创建共享文件夹参考资料上传文件代码web.config<!--上传文件配置,UploadPath值一定是服务器ip,内网ip最好--><addkey="UploadPath"value="\\172.21.0.10\File"/><addkey="DownloadPath"value="http://x.x.x.x:80/"/><addkey="UserName"value="ShareUser"/><addkey="Password"value="P@ssw0rd"/>工具方法publicstaticstringGetConfigString(stringkey,string@default="")...
继续阅读 >
2021
04-27
04-27
ASP.NET Core扩展库之Http日志的使用详解
最佳实践都告诉我们不要记录请求的详细日志,因为这有安全问题,但在实际开发中,请求的详细内容对于快速定位问题却是非常重要的,有时也是系统的强力证据。Xfrogcn.AspNetCore.Extensions扩展库提供了服务端和客户端的详细日志功能,通过配置可以开启。 服务端日志通过请求中间件来完成,中间件会以Trace级别记录请求和应答详情,以Debug级别记录请求耗时。服务的请求日志的名称...
继续阅读 >
2021
04-27
04-27
ASP.NET 上传文件导入Excel的示例
前言本文对应的场景是导入Excel数据,Excel对应的字段都配置在xml文件中。截图如下:代码实战工具类实体类:XMLReadModel.cspublicclassXMLReadModel{///<summary>///导入所需键值对///</summary>publicHashtableImportHashtable{set;get;}=newHashtable();///<summary>///导出所需键值对///</summary>publicHashtableExport...
继续阅读 >
2021
04-27
04-27
ASP.NET Core自动生成小写破折号路由的实现方法
默认情况下,ASP.NETCore使用如 http://localhost:5000/HomeIndex 类的大驼峰路由。但是如果想使用小写的路由,并且这些路由用破折号分隔:http://localhost:5000/home-index它们比较常见且一致。举例.NET常见路由http://localhost:5000/User/ListPages想要的效果http://localhost:5000/user/list-pages1、如何生成小写的路由可以这样设置services.ConfigureRouting(setupAction=>{setupAction.LowercaseUrls=t...
继续阅读 >
2021
04-27
04-27
如何在ASP.NET Core中使用HttpClientFactory
ASP.NetCore是一个开源的,跨平台的,轻量级模块化框架,可用它来构建高性能的Web程序,这篇文章我们将会讨论如何在ASP.NetCore中使用HttpClientFactory。为什么要使用HttpClientFactory可以用HttpClientFactory来集中化管理HttpClient,工厂提供了对HttpClient的创建,配置和调度,值得一提的是:HttpClient一直都是Http请求业务方面的一等公民。HttpClient虽好,但它有一些缺点:创建太多的HttpClient是一...
继续阅读 >
2021
04-07
04-07
如何在ASP.Net Core中使用Serilog
记录日志的一个作用就是方便对应用程序进行跟踪和排错调查,在实际应用上都是引入日志框架,但如果你的日志文件包含非结构化的数据,那么查询起来将是一个噩梦,所以需要在记录日志的时候采用结构化方式。将日志结构化可以更容易的查询和分析,做法就是在写入的时候定义好数据的格式,这种格式包括:xml,json,或者你希望转成的任何结构。Serilog是一个第三方,开源的结构化日志框架,它的高层封装可以让开发者更容易的将日志...
继续阅读 >
2021
04-07
04-07
如何使用ASP.NET创建网站并设计web页面
创建网站1.从网上下载VS2017,我接触的朋友和公司大多数都是使用VS2017/VS2019,我查过,差别不大,不影响学习,但不建议项目中突然改变版本,升级或降级,都有一定的报错什么的,所以还是老老实实选好了就不要随意升级/降级,毕竟运行了这么久,框架也成型了,不好改变2.打开VS2017,在文件菜单中,选择新建->项目->Web-APS.NNTWeb,名称和位置可以自己定义,另外我选的是.NETFramework4框架,因为这个版本的使用率比较普及的...
继续阅读 >
2021
03-22
03-22
ASP.NET Core 5中如何生成PDF文档
前言大家用ASP.NETCore进行项目开发时,常会有生成PDF的需求,那如何生成呢?这篇文章我们就来讨论如何通过DinkToPdf来生成PDF文档,DinkToPdf封装了C++的wkhtmltopdf工具包,前者通过P/Invoke的方式来调用后者,而底层的wkhtmltopdf利用QtWebKit渲染引擎将html转成pdf。安装DinkToPdf要想安装DinkToPdf,可以通过Nuget可视化界面或者通过NuGetPackageManagerConsole命令行工具输入以下命令:Ins...
继续阅读 >
2021
03-22
03-22
ASP.NET Core中使用LazyCache的全过程
前言微软的ASP.NETCore已经是一个非常流行的用于构建高性能,模块化并能运行在Windows,Linux,MacOS上的WEB框架,通常能够让程序保持高性能的一个有效途径就是通过缓存热链上的数据来应对高频的请求。LazyCache是一款基于内存的易于使用和线程安全的缓存组件,值得注意的是,这里的Lazy指的是LazyCache永远不会在缓存未命中时触发一次以上的缓存委托函数,因为内置了锁,换句话说,Lazy减少了不必要的计算开销,...
继续阅读 >
2021
03-19
03-19
asp.net开发微信派发现金红包/H5网页抢红包功能(思路详解)
临近节日,公司里为了给广大老客户赠福利,以及来一波拉新活动:搞了一个营销活动,大概活动规则如下:1、老客户通过网页抢红包,中奖会派发微信支付的红包;2、新客户只要关注后就可以中奖,持续关注x天后再派发红包(防止撸羊毛,关注后立马取关)。开发的思路分析:一、网页版抢红包功能,1、前端先做好抢红包的页面;3、后台配置微信公众号的appid,appsecret等和微信支付商户的mch_id,key,证书等;3、后端使用微信公众号里...
继续阅读 >
2021
03-17
03-17
ASP.NET Core扩展库之实体映射使用详解
在分层设计模式中,各层之间的数据通常通过数据传输对象(DTO)来进行数据的传递,而大多数情况下,各层数据的定义结构大同小异,如何在这些定义结构中相互转换,之前我们通过使用AutoMapper库,但AutoMapper功能庞大,使用较为复杂,而在很多场景下,可能我们只需要一些基础的对象映射功能,那么此时你可以选择扩展库中的轻量级AutoMapper实现。实体映射包含以下核心功能:在使用之前无需手动定义类型之间的映射关系采用动态编...
继续阅读 >
2021
03-17
03-17
在ASP.Net Web Forms中使用依赖注入的步骤
依赖注入技术就是将一个对象注入到一个需要它的对象中,同时它也是控制反转的一种实现,显而易见,这样可以实现对象之间的解耦并且更方便测试和维护,依赖注入的原则早已经指出了,应用程序的高层模块不依赖于低层模块,而应该统一依赖于抽象或者接口。在.NetFramework4.7.2中引入了对依赖注入的支持,终于在ASP.NetWebForms中可以使用依赖注入机制了,这篇文章将会讨论如何在ASP.NetWebForms中去使用。创建WebForm...
继续阅读 >
2021
03-16
03-16
详解如何在ASP.Net Core中实现健康检查
健康检查常用于判断一个应用程序能否对request请求进行响应,ASP.NetCore2.2中引入了健康检查中间件用于报告应用程序的健康状态。ASP.NetCore中的健康检查落地做法是暴露一个可配置的Http端口,你可以使用健康检查去做一个最简单的活性检测,比如说:检查网络和系统的资源可用性,数据库资源是否可用,应用程序依赖的消息中间件或者Azurecloudservice的可用性等等,这篇文章我们就来讨论如何使用这个健康检...
继续阅读 >
2021
03-12
03-12
在ASP.Net Core中使用Lamar的全过程
前言ASP.NetCore自带了一个极简的开箱即用的依赖注入容器,实际上,你还可以使用第三方的依赖注入容器来替代它,依赖注入是一种设计模式,它能够有效的实现对象之间的解耦并有利于提高单元测试和维护性,你可以使用依赖注入来改进你的代码设计,而不像原来那样到处都是new对象。Lamar是一个流行的,高效的,模块化的IOC容器,这篇文章我们将会讨论如何在ASP.NetCore中使用Lamar。为什么要用Lamar实现依赖注入要...
继续阅读 >
2021
03-12
03-12
ASP.NET Core Api网关Ocelot的使用初探
概述Ocelot面向使用.NET运行微型服务/面向服务的体系结构的人员,这些体系结构需要在系统中具有统一的入口点。特别是我想与IdentityServer参考和承载令牌轻松集成。Ocelot是按特定顺序排列的一堆中间件。Ocelot将HttpRequest对象操作到由其配置指定的状态,直到到达请求构建器中间件,在该中间件中它创建一个HttpRequestMessage对象,该对象用于向下游服务发出请求。发出请求的中间件是Ocelot管道中的最后一件事。它不会调用下一个...
继续阅读 >