之前看了asp.net5,小弟就试着用了用,做了个小网站练习一下,有一个小模块需要上传图片到wwwroot下的images文件夹,但是aspnet5 发生了翻天复地变化,之前获取网站根目录的的方法不再适用.去网上翻遍了文章也没找到方法,无奈之下想到看看源码(大神不要见笑,我也看不懂,只是胡乱的看),终于让我看到一个类: namespace Microsoft.Framework.Runtime { [AssemblyNeutral] public interface IApplicationEn…
这篇文章说明了如何使用EPPlus在ASP.NET Core中导入和导出.xls/.xlsx文件(Excel).在考虑使用.NET处理excel时,我们总是寻找第三方库或组件.使用Open Office Xml格式(xlsx)读取和写入Excel 2007/2010文件的最流行的.net库之一是EPPlus.这个库现在已经支持.NET Core许久了.这适用于Windows,Linux和Mac. 因此,让我们创建一个新的ASP.NET Core WEB API应用程序并安装EPPlus.Core…
在企业开发中,我们经常会遇到由用户上传文件的场景,比如某OA系统中,由用户填写某表单并上传身份证,由身份管理员审查,超级管理员可以查看. 就这样一个场景,用户上传的文件只能有三种人看得见(能够访问) 上传文件的人 身份审查人员 超级管理员 那么,这篇博客中我们将一起学习如何设计并实现一款文件授权中间件 问题分析 如何判断文件属于谁 要想文件能够被授权,文件的命名就要有规律,我们可以从文件命名中确定文件是属于谁的,例如本文例可以设计文件名为这样 工号-GUID-[Front/Back] 例如: 1…
这俩天在开发另一个程序时,遇到一个小问题:如何调用程序下的Assets文件夹及其下的文件和文件夹: 在网上找了两天,基本上是关于如何调用手机中库的方法,没找到有关介绍如何调用查找 编译前添加图片或其它资源到手机程序中的文件: 后来在msdn.library找到了相关类和方法,现在来分享一下: 1. StorageFolder assFolder=null;//用来存放找到的Assets文件夹 List<StorageFolder> assetsSubFolderList = new List&…
描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问.如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面. 例一: 我想让用户在访问我的程序的Admin文件夹下的页面时需要登录,而在访问其他页面时则不需要,也就是说Admin文件夹下的文件拒绝匿名访问. 下面是配置根目录下的web.config文件中关于授权验证的配置. <system.web> <authentication mode=&qu…
十分全面的forms验证配置: http://blog.csdn.net/qingyun1029/article/details/6184723…
原文地址:Pre-compressed static files with ASP.NET Core 作者:Gunnar Peipman 译者:Lamond Lu 译文:https://www.cnblogs.com/lwqlun/p/10552131.html 示例代码:https://github.com/lamondlu/CompressedStaticFileSample Web应用程序的优化是非常重要,因为使用更少的CPU,占用更少的带宽可以减少项目的费用. 在ASP.NET Core…
“传导体” HttpContext 要理解 HttpContext 是干嘛的,首先,看图 图一 内网访问程序 图二 反向代理访问程序 ASP.NET Core 程序中,Kestrel 是一个基于 libuv 的跨平台 ASP.NET Core web 服务器.不清楚 Kerstrel 没关系,以后慢慢了解. 我们可以理解成,外部访问我们的程序,通过 Http 或者 Https 访问,例如 https://localhost:44337/Home/Index,需要通过一个网址,来寻向访问特定的页面…
笔者没有学 ASP.NET,直接学 ASP.NET Core ,学完 ASP.NET Core MVC 基础后,开始学习 ASP.NET Core 的运行原理.发现应用程序有一个非常主要的 “传导体” HttpContext . 赶忙写一下笔记先. 目录 “传导体” HttpContext 操作 HttpContext 前期准备 HttpContext 类型的属性和方法 HttpContext 对象实践与测试 Request Response Item “传导体” HttpContext 要理解…
1.HttpClient类使用存在的问题 HttpClient类的使用所存在的问题,百度搜索的文章一大堆,好多都是单纯文字描述,让人感觉不太好理解,为了更好理解HttpClient使用存在的问题,下面让我们通过代码跟示例来描述. using(var client = new HttpClient()) 传统关闭连接方法如上述代码所示,但当使用using语句释放HttpClient对象的时候,套接字(socket)也不会立即释放,下面我们通过请求aspnetmonsters站点的示例来验证下: c…
ASP.NET Core 中的 Main 方法 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自<从零开始学 ASP.NET Core 与 EntityFramework Core>目录 视频课程效果更佳:跨平台开发实战掌握 ASP.NET Core 与 EntityFramework Core ASP.NET Core 中的 Main 方法 视频推荐观看地址 在 ASP.NET Core 项目中,我们有一个名为Progr…
[原创]ASP.NET网站中获取当前虚拟目录的应用程序目录的方法 ASP.NET网站中获取当前虚拟目录的应用程序目录的方法1.问题描述:有时候,某个网页控件会被不同目录下文件使用,此时如果该控件中有一个相对链接,那么该链接就会出现问题.比如应用程序虚拟目录MyApp根目录有个Template.ascx用户控件文件,该文件有个连接到应用程序根目录的网页link.aspx.如果Template.ascx中的链接直接写成href="link.aspx",那么在应用程序下级子目录中某个文件Te…
如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示: // Classic ASP.NET public class HomeController : Controller { public ActionResult Index() { string physicalWebRootPath = Server.MapPath("~/"); return Cont…
新西兰程序员 ASP.NET网站中设置404自定义错误页面 在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页面,然后在Global.asax文件中,加入如下代码: <%@ Application Language="C#" %> <script runat="server"> void Application_Error(object sender,…
原文:Developing ASP.NET Core applications using dotnet watch 作者:Victor Hurdugaci 翻译:谢炀(Kiler) 校对:刘怡(AlexLEWIS).许登洋(Seay) 介绍 dotnet watch 是一个开发阶段在源文件发生变动的情况下使用 dotnet 命令的工具. 当代码发生变动的时候可以用来执行编译,运行测试,或者发布操作. 在本教程中,我们将使用一个现有的计算两个数字之和以及乘积的 WebApi 应用程序来演示如何使…
原文:Application Startup 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:谢炀(kiler398).许登洋(Seay) ASP.NET Core 为你的应用程序提供了处理每个请求的完整控制.Startup 类是应用程序的入口(entry point),这个类可以设置配置(configuration)并且将应用程序将要使用的服务连接起来.开发人员可以在 Startup 类中配置请求管道,该管道将用于处理应用程序的所有请求. 章节: Startup 类 Co…
RSS全称Really Simple Syndication.一些更新频率较高的网站可以通过RSS让订阅者快速获取更新信息.RSS文档需遵守XML规范的,其中必需包含标题.链接.描述信息,还可以包含发布时间.最后更新时间等信息. 本文将介绍通过LINQ to XML生成XML文档,并在ASP.NET MVC Web应用程序中输出. 在生成RSS文档前,先简单了解一下RSS的结构.根节点rss下有channel节点,channel节点的一些子节点(title,link,description)包含…
标题:ASP.NET Core中实现单体程序的事件发布/订阅 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/10468058.html 项目源代码:https://github.com/lamondlu/EventHandlerInSingleApplication 背景 事件发布/订阅是一种非常强大的模式,它可以帮助业务组件间实现完全解耦,不同的业务组件只依赖事件,只关注哪些事件是需要自己处理的,而不用关注谁来处理自己发布事件,事件追溯(Ev…
本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义,这个对象是用来将我们的数据持久化到数据库,一般来说,持久化对象中的字段会与数据库中对应的 table 保持一致. 2.视图对象VO(View Object):视图对象 VO 是面向前端用户页面的,一般会包含呈现给用户的某个页面/组件中所包含的所有数据字段信息. 3.数据传输对象DTO(Data T…
在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口都以“I”开头,以“Repository”结尾.仓储层实现都以“Repository”结尾. 2.服务层接口都以“I”开头,以“Service”结尾.服务层实现都以“Service”结尾. 接下来我们正式进入主题,在上一章的基础上我们再添加一个web项目TianYa.DotNetShare.Core…
在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. PS:本章将主要采用构造函数注入的方式,下一章将继续分享如何使之能够同时支持属性注入的方式. 约定: 1.仓储层接口都以“I”开头,以“Repository”结尾.仓储层实现都以“Repository”结尾. 2.服务层接口都以“I”开头,以“Service”结尾.服务层实现都以“Service”结尾…
HTTP响应的缓存意味着当发出HTTP请求时,服务器生成的响应由浏览器或服务器存储在某个地方,以便在对同一资源的连续HTTP请求中重复使用.实质上,我们正在存储生成的响应,并将该响应重用于后续请求一段时间.存储可以在客户端进行,例如浏览器或服务器端本身.当存储在客户端时,HTTP响应的缓存减少了客户端(例如浏览器或代理)对Web服务器的请求数.Web应用程序中的浏览器缓存行为通常由指定客户端必须如何缓存响应的HTTP报头控制. 在Web应用程序中,需要缓存某些性能请求.例如,通过缓存很少更改或不…
Asp.Net应用程序事件响应次序是指Application事件的相应次序,涉及到的事件包括Application_Start事件.BeginRequest事件.AuthenticateRequest事件.AuthorizeRequest事件.ResolveRequsetCache事件.AcquireRequireState事件.PostAcquireRequestState事件.EndRequest事件等等. 首先来说下各个事件的含义作用: (1)AcquireRequireState事件:在…
官网地址:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/tag-helpers/built-in/script-tag-helper?view=aspnetcore-3.0 标记帮助程序用于生成指向主要或回退脚本文件的链接. 通常主脚本文件位于内容分发网络 (CDN). CDN: 提供多个性能优势,并使用 Web 应用托管资产. 不应依赖作为资产的唯一来源. CDN 并非始终可用,因此应使用可靠的回退. 通常,回退是托管 Web 应…
标记帮助程序是什么 标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素. 例如,内置的 ImageTagHelper 可以将版本号追加到图片名称.  每当图片发生变化时,服务器都会为图像生成一个新的唯一版本号,因此客户端总能获得当前图像(而不是过时的缓存图像). 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/13197922.html 标记帮助程序的作用域是如何控制的 标记帮助程序作用域由 @addTagHelper.…
原文:Controllers, Actions, and Action Results 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:许登洋(Seay) Action 和 action result 是开发者使用 ASP.NET MVC 构建应用程序的基础部分. 什么是 Controller 在 ASP.NET MVC 中, 控制器( Controller  )用于定义和聚合操作(Action)的一个集合.操作( 或操作方法 )是控制器中处理入站请求的一个方法.控制器提供了一…
原文:Adding a model 作者:Rick Anderson 翻译:娄宇(Lyrics) 校对:许登洋(Seay).孟帅洋(书缘).姚阿勇(Mr.Yao).夏申斌 在这一节里,你将添加一些类来管理数据库中的电影数据.这些类将成为 MVC 应用程序中的 "Model" 部分. 你将使用 .NET Framework 中名为 Entity Framework Core 的数据库访问技术来定义和使用这些数据模型类.Entity Framework Core (通常被称为 EF Cor…
原文:Working with Static Files 作者:Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:谢炀(kiler398).许登洋(Seay).孟帅洋(书缘) 静态文件(static files),诸如 HTML.CSS.图片和 JavaScript 之类的资源会被 ASP.NET Core 应用直接提供给客户端. 查看或下载样式代码 章节: 静态文件服务 静态文件授权 允许直接浏览目录 默认文档服务 UseFileServer 非标准的内容类型 扩展资源 静态…
原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kiler) 校对:许登洋(Seay).高嵩 使用 ASP.NET Core 创建一个多语言版本的网站有助于你吸引到更多的用户,ASP.NET Core 提供服务和中间件来支持本地化语言和文化. 国际化涉及 全球化 和 本地化.全球化是为了应用程序支持不同文化而设计的.全球化增加了对特定地理区域的语言文字…
原文:Layout 作者:Steve Smith 翻译:娄宇(Lyrics) 校对:孟帅洋(书缘) 视图(View)经常共享视觉元素和编程元素.在本篇文章中,你将学习如何在你的 ASP.NET 应用程序中使用通用布局视图.共享指令以及在渲染视图前运行通用代码. 章节: 什么是布局视图 指定布局 导入共享指令 在视图之前运行代码 什么是布局视图 大部分 Web 应用程序在用户切换页面时,使用通用布局提供了一致的用户体验.通用布局通常包含页眉.导航栏(或菜单)以及页脚等通用 UI 元素. 在一个应用…