静态方法

Net core学习系列(七)——Net Core中间件

时间秒杀一切 提交于 2020-03-23 07:32:48
一、什么是中间件(Middleware)? 中间件是组装到应用程序管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递给管道中的下一个组件。 可以在调用管道中的下一个组件之前和之后执行工作。 请求委托(Request delegates)用于构建请求管道,处理每个HTTP请求。 请求委托使用 Run , Map 和 Use 扩展方法进行配置。单独的请求委托可以以内联匿名方法(称为内联中间件)指定,或者可以在可重用的类中定义它。这些可重用的类和内联匿名方法是中间件或中间件组件。请求流程中的每个中间件组件都负责调用流水线中的下一个组件,如果适当,则负责链接短路。 将HTTP模块迁移到中间件解释了ASP.NET Core和以前版本(ASP.NET)中的请求管道之间的区别,并提供了更多的中间件示例。 使用 IApplicationBuilder 创建中间件管道 ASP.NET Core请求流程由一系列请求委托组成,如下图所示(执行流程遵循黑色箭头): 每个委托可以在下一个委托之前和之后执行操作。委托还可以决定不将请求传递给下一个委托,这称为请求管道的短路。短路通常是可取的,因为它避免了不必要的工作。例如,静态文件中间件可以返回一个静态文件的请求,并使管道的其余部分短路。需要在管道早期调用异常处理委托,因此它们可以捕获后面管道的异常。 最简单的可能是ASP.NET

Asp .Net core 2 学习笔记(2) —— 中间件

一个人想着一个人 提交于 2020-03-23 07:32:35
这个系列的初衷是便于自己总结与回顾,把笔记本上面的东西转移到这里,态度不由得谨慎许多,下面是我参考的资源: ASP.NET Core 中文文档目录 官方文档 记在这里的东西我会不断的完善丰满,对于文章里面一些局限于我自己知识积累的观点,希望没有跳走坚持看完的朋友,能够予以指正和鼓励. 系列目录 (1)Starup (2)中间件 (3)静态文件 中间件 中间件是一种装配到应用管道以处理请求和响应的软件。 每个组件: 选择是否将请求传递到管道中的下一个组件 可在管道中的下一个组件前后执行工作 请求委托用于生成请求管道。 请求委托处理每个 HTTP 请求。 请求委托通过使用 IApplicationBuilder 类型的 Run、Map 以及 Use 扩展方法来配置,并在Starup类中传给configure方法 。每个单独的请求委托都可以被指定为一个 内嵌匿名方法,或其定义在一个可重用的类中。这些可重用的类被称作中间件或中间件组件。每个位于请求管道内的中间件组件负责调用管道中下一个组件,或适时短路调用链。 使用 IApplicationBuilder 创建中间件管道 ASP.NET Core 请求管道包含一系列请求委托,依次调用 这系列委托并不是一条路走到底:每个委托均可在下一个委托前后执行操作,使得请求管道短路. 短路的方式存在两种: 1任何委托都能选择停止传递到下一个委托

.NET中如何生成静态页

时光怂恿深爱的人放手 提交于 2020-03-22 11:27:02
如何生成静态页: 方案1: /// <summary> /// 传入URL返回网页的html代码 /// </summary> /// <param name="Url">URL</param> /// <returns></returns> public static string getUrltoHtml(string Url) { errorMsg = ""; try { System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url); // Get the response instance. System.Net.WebResponse wResp =wReq.GetResponse(); // Read an HTTP-specific property //if (wResp.GetType() ==HttpWebResponse) //{ //DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified; //} // Get the response stream. System.IO.Stream respStream = wResp.GetResponseStream(); // Dim reader As

.NET中如何生成静态页

怎甘沉沦 提交于 2020-03-22 08:59:20
如何生成静态页: 方案1: /**/ /// <summary> /// 传入URL返回网页的html代码 /// </summary> /// <param name="Url"> URL </param> /// <returns></returns> public static string getUrltoHtml( string Url) { errorMsg = "" ; try { System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url); // Get the response instance. System.Net.WebResponse wResp = wReq.GetResponse(); // Read an HTTP-specific property // if (wResp.GetType() ==HttpWebResponse) // { // DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified; // } // Get the response stream. System.IO.Stream respStream = wResp.GetResponseStream(); // Dim reader

python中静态方法、类方法、属性方法区别

ぐ巨炮叔叔 提交于 2020-03-22 08:28:44
在python中,静态方法、类方法、属性方法,刚接触对于它们之间的区别确实让人疑惑。 类方法(@classmethod) 是一个函数修饰符,表是该函数是一个类方法 类方法第一个参数是cls,而实例方法第一个参数是self(表示该类的一个实例) 类中普通函数至少要一个self参数,代表类对象实例 类方法至少需要一个cls参数,通过cls可以获取到类本身的属性方法等元信息。当有个子类继承时,传入的是子类对象。 对于类方法两种调用方式,类.func(),类实例.func() 静态方法(@staticmethod) 静态方法是不需要类(cls)和类实例(self)参数的。所以它的使用场景是:和类有关系的功能但在运行时又不需要实例和类参与的情况下需要用到静态方法。比如封装一个工具类,一般情况下都可以采用静态方法形式。 静态方法的优点: 代码可读性好:看到该标签就知道这个方法并不需要依赖对象本身的状态。 节省内存空间,既然是与类实例无关自然就不用创建类实例对象。 属性方法(@property) 添加@property标签,表示将一个普通函数变成一个类属性,只读的 https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

python面向对象之方法

a 夏天 提交于 2020-03-22 08:01:05
类成员:字段+方法+属性 字段:普通(实例对象,每个对象保存一次)+静态(全局变量,只保存一次,所有方法共享) 方法:普通方法(实例方法:self.fun())+类方法(@classmathod)+静态方法(所有方法分类) 属性:方法属性 #1普通方法:(使用较多) #encoding=utf-8 class Foo: def __init__(self, name): self.name = name def ord_func(self): """ 定义普通方法,至少有一个self参数 """ # print self.name print u'普通方法' #2类方法:(不能使用实例) @classmethod def class_func(cls): """ 定义类方法,至少有一个cls参数 """ print u'类方法' #3静态方法:(将分类)(不能使用实例) @staticmethod def static_func(): """ 定义静态方法 ,无默认参数""" print u'静态方法' # 调用普通方法:实例+.+方法 f = Foo("gloryroad") f.ord_func() # 调用类方法:类+.+方法 Foo.class_func() # 调用静态方法: Foo.static_func() 实例: 将两个文件操作方法,一个改成类方法,一个改成静态方法

nginx学习之静态内容篇(五)

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-21 09:13:08
1.根目录和索引文件 server { root /www/data; location / { } location /images/ { } location ~ \.(mp3|mp4) { root /www/media; } } root指令能放置的位置是:http,server,location。 上面的意思是:我所有的location定义都是基于根目录/www/data的,也就是说 "/" 指的就是/www/data/,而 "/images/" 指的就是/www/data/images/。 我们可以为每个目录都定义一个索引文件,默认是index.html。 index指令的值:可以是index.html或者index.htm,或者index.php。 如果我们的URI是/images/some/path,那么nginx返回的文件就是/www/data/images/some/path/index.html。当然,前提是这个index.html得存在,否则返回404错误。 假如我访问/images/some/path这个URI时,我希望在网页上展示的是列表,需要使用指令autoindex:会展示 /www/data/images/some/path/ 目录下的所有文件夹和文件。 location /images/ { autoindex on; }

Java内部类

泄露秘密 提交于 2020-03-20 21:14:52
3 月,跳不动了?>>> java中的内部类主要分为4种,静态内部类,成员内部类,局部内部类和匿名内部类。 静态内部类就是定义在类内部的静态类。 成员内部类就是定义在类内部的非静态类,且里面不能有静态方法和静态变量。 局部内部类就是定义在类方法中的类。 匿名内部类没有关键字class,直接使用new来生成一个对象的引用。要求继承一个父类或实现一个接口。 来源: oschina 链接: https://my.oschina.net/u/3991724/blog/3207343

设计模式

烂漫一生 提交于 2020-03-20 14:53:38
3 月,跳不动了?>>> 在软件工程中, 创建型模式 是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决问题。 常用创建型模式有:单例模式、工厂模式、抽象工厂模式、原型模式、建造者模式 一、单例模式 单例模式有以下8种写法: 饿汉式: 静态常量 静态代码块 懒汉式: 线程不安全 线程安全,同步方法 线程安全,同步代码块 双重检查 静态内部类 枚举 单例模式的使用场景: 需要频繁创建和销毁的对象;创建时耗时过多或消耗资源过多,但又经常用到的对象(比如session工厂、数据源等) 1. 饿汉式 - 静态常量写法 代码实现: /** * 设计模式之单例模式 * 饿汉式(静态常量) */ public class SingletonTest01 { public static void main(String[] args) { Singleton instance1 = Singleton.getInstance(); Singleton instance2 = Singleton.getInstance(); System.out.println("两次获取的实例一样吗:" + (instance1 == instance2)); //true } } class

java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

我怕爱的太早我们不能终老 提交于 2020-03-20 11:39:13
java读取properties文件的几种方法 一、项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1、通过java.util.Properties读取 Properties p=new Properties(); //p需要InputStream对象进行读取文件,而获取InputStream有多种方法: //1、通过绝对路径:InputStream is=new FileInputStream(filePath); //2、通过Class.getResourceAsStream(path); //3、通过ClassLoader.getResourceAsStream(path); p.load(InputStream is); is.close(); p.getString(String(key)) 2、通过java.util.ResourceBundle读取 ResourceBundle rb=ResourceBundle.getBundle(packageName); rb.getString(String key); 二、Class.getResourceAsStream与ClassLoader.getResourceAsStream的区别 首先,Java中的getResourceAsStream有以下几种: Class