标签:.netcore

Deploy 部属

终于到最后一天啦!!!!! 之前我们开发的网站都只能在本机开发环境运行,但丑媳妇总要见公婆网站总会有正式上线见人的一天,今天就来说明怎么在服务器上部属 ASP.NET Core MVC 应用程序。 Windows IIS 需求的操作系统版本: Windows 7 以上 Windows Server 2008 R2 以上 另外需要安装最新版本的 .NET Co…

阅读全文 »

Unit Test 单元测试

单元测试的特性跟优点在这边就不赘述了,有兴趣的可以参考官方文件,或者去上 91 大大的课。今天的重点会摆在如何在 ASP.NET Core MVC 项目中建立单元测试。.NET 有几套主流的 test framework:xUnit、NUnit 和 MSTest,今天会以 MSTest 来作介绍。 建立测试项目 – MSTest 可以用 dotn…

阅读全文 »

Areas 区域

ASP.NET MVC 提供了 Area 的功能,让开发人员可以把相关的功能模组包起来,让模组有自己的命名空间跟目录结构。每个模组中都会有自己的 MVC 结构、路由跟模型,也可以说每个 Area 其实都可以独立成一个自己的 MVC 项目。 建立 Area 在 VS 2017 中的项目上点右键,选择「加入 > 区域」,再输入 Area 名称。 VS 就会自动产…

阅读全文 »

Filters 过滤器

ASP.NET Core MVC 跟 ASP.NET MVC 一样也提供了 Filter 的功能,以 AOP 的观念在执行 Action 的前后处理资料。第一次看到 Middleware 的后有想说阿这不是跟 Filter 一样吗,但其实两者的执行顺序是有差别的。Middleware 是 ASP.NET Core 应用程式对 HTTP 请求跟回应的处理,如果…

阅读全文 »

Caching 快取

快取其实也是一种储存应用程序状态的方式,因为要花比较多篇幅说明才独立出一篇。而且官方文件也是不同章节XD 快取会复制一份资料在快取的储存机制中,让取值的速度比原本的来源快,适合摆常使用但不常变动的资料。其实快取跟 Session 大概有 87% 像,差别是不同执行期间(不同电脑或不同浏览器)的快取会取到同一个值,而 Session 会以存在执行期间的 Coo…

阅读全文 »

App States 工作阶段与应用程序状态 – 1/2

由于 HTTP 是无状态的通讯协定,如果没有额外处理,每次请求都会是独立的,没办法保留来自客户端的资料。今天会介绍要怎么在应用程序中储存或暂存资料跟状态。 状态管理 开发人员可以由几个面向来判断需要使用哪种状态管理的方式: 资料需要储存多久? 资料大小? 资料格式? 资料是否可以序列化? 是否为敏感资料? ASP.NET Core 框架中好几种方式来管理状态…

阅读全文 »

番外篇 – NLog

昨天有提到 ASP.NET Core 框架提供的 logging API 对第三方的日志纪录框架有很高的支援度。过去我都是使用 NLog 为主,所以今天就来看看怎么在 ASP.NET Core 网站中使用这个框架吧~ 使用方式 1. 加入 NLog 依赖 NLog NLog.Web.AspNetCore 套件管理员主控台 Install-Package NL…

阅读全文 »

Logging 日志记录

ASP.NET Core 框架提供的 logging API 让开发人员可以轻松地使用内建或第三方的日志纪录框架。今天来说明怎么在 ASP.NET Core 应用程序中纪录将错误或相关资讯。 记录提供者 跟 Configuration 类似,ASP.NET Core 使用的日志纪录是由 LoggingProvider 来设定。 使用 MVC 范本建立项目时,…

阅读全文 »

Configuration 组态设定 – 2/2

昨天说明了如何在应用程序中加入不同设定来源的组态设定,并取得设定值。实际的项目中,设定来源常常都是阶层式架构,如果每次都要记得那么长一串的 key 值真的是很麻烦!今天会说明怎么把这些设定转换成代表一组设定的类别,并透过依赖注入来取得这些设定。 系结到类别 除了使用 GetValue 方法来取得设定值,IConfiguration 也提供 Bind 扩充方法…

阅读全文 »

Configuration 组态设定 – 1/2

ASP.NET Core 所使用的应用程序设定是由 ConfigurationProvider 所建立的 key-value 资料结构。ConfigurationProvider 会读取不同的设定来源并转成 key-value 资料结构。设定来源可能是: Azure Key Vault 命令列参数 自己定义的 Provider 目录文件 环境变数 .NET …

阅读全文 »

Environments 多重环境

ASP.NET Core 支援在不同 runtime 环境可以进行不同的行为。应用程序启动时,会读取 ASPNETCORE_ENVIRONMENT 环境变数来判断执行中的环境,并将值储存在 IHostingEnvironment.Environment 属性中。ASPNETCORE_ENVIRONMENT 可以是任何值,但 ASP.NET Core 架构中有…

阅读全文 »

Static Files 静态文件

静态 HTML、CSS、图档和 JavaScript 之类的静态文件,一般都是由应用程序直接提供给客户端。在 ASP.NET Core 应用程序中,需要做一些设定来提供这类型的静态资源。 提供静态文件 静态文件可以放在网站根目录底下的任何路径,预设目录是在 /wwwroot,也可以透过 IWebHostBuilder.UseWepRoot 来设定应用程序的 …

阅读全文 »

Middleware 中介层 – 2/2

昨天讲了中介层的观念,今天我们来实作中介层! 中介层通常会以一个类别封装起来,再由扩充方法曝露。假设现在有个需求,要透过 URL 中一个区块来决定语系。范例代码可以参考这边。 URL 语系 / zh-TW /en-us/ en-US /de-de/ de-DE 直接将中介层逻辑写在 Startup.Configure 方法中: public class St…

阅读全文 »

Middleware 中介层 – 1/2

简介 中介层会组成应用程序的 pipeline,用来处理 Web 的请求和回应。每个中介层元件都可以: 选择是否要把请求传到 pipeline 中下一个元件。 在呼叫 pipeline 中下一个元件的之前和之后执行某些工作。 请求委任 (request delegates) 会用来建立请求 pipeline,而且会处理每个 HTTP 请求。 请求委任是透过 …

阅读全文 »

Dependency Injection 依赖注入

依赖注入这个主题大概就可以写五天了吧(?),这个系列就不多作介绍了,详细的可以参考英文微基,网路上也有很多相关文章 (其实是自己讲不清楚)。今天会针对如何在 ASP.NET Core 中使用依赖注入作介绍。 服务的生命周期 开始注册服务之前,我们先来了解服务的生命周期。注册服务时需设定生命周期,有三种生命周期设定: Transient:每次被注入时都会建立一…

阅读全文 »
Page 1 of 3
1 2 3