c#进阶
文章平均质量分 89
c#进阶
sinolover
完成项目,就要软硬兼施
展开
-
【转】温故之.NET 异步
转自:https://zhuanlan.zhihu.com/p/38537169这篇文章包含以下内容异步基础 基于任务的异步模式 部分 API 介绍异步基础所谓异步,对于计算密集型的任务,就是以线程为基础的多任务。而在具体使用中,使用线程池里面的线程还是新建独立线程,取决于具体的任务量;对于I/O密集型任务的异步,是以Windows事件为基础的。.NET提供了执行异步操作的三种方式:异步编程模型 (APM) 模式(也称IAsyncResult模式):在此模式中异步操作...原创 2021-07-15 13:47:48 · 189 阅读 · 0 评论 -
【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解
阅读目录一、get请求 1、基础类型参数 2、实体作为参数 3、数组作为参数 4、“怪异”的get请求 二、post请求 1、基础类型参数 2、实体作为参数 3、数组作为参数 4、后台发送请求参数的传递 三、put请求 1、基础类型参数 2、实体作为参数 3、数组作为参数 四、delete请求 五、总结正文前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料。如今,使用WebApi也有段时间了,今天就记录下.原创 2020-12-03 13:16:04 · 1345 阅读 · 0 评论 -
C#中双问号、双冒号等几个特殊关键字
@:放在字符串的前面,直接让字符串原样输出。常用于:sql语句、路径等string sql = @"select * from tablename where id = '1'";string path = @"C:\filename.xml";如果字符串里边包含双引号时,需要两个双引号代表一个双引号string s = @"He said,""yes""";//s输出He said,...原创 2020-03-05 18:48:06 · 1855 阅读 · 1 评论 -
C# 中的可变参数方法(VarArgs)
首先需要明确一点:这里提到的可变参数方法,指的是具有CallingConventions.VarArgs调用约定的方法,而不是包含params参数的方法。可以通过MethodBase.CallingConvention 属性来获取某个方法的调用约定。举个常见的例子来说,C 语言的printf方法大多数人应该都知道,它的作用是向标准输出流(stdout)写入格式化字符串,printf...原创 2020-02-24 11:13:01 · 2103 阅读 · 0 评论 -
为什么TypedReference在幕后
我发现的其他用途TypedReference:C#中的“专门化”泛型(这是类型安全的):static void foo<T>(ref T value){ //This is the ONLY way to treat value as int, without boxing/unboxing objects if (value is int) { _...原创 2020-02-24 11:12:25 · 546 阅读 · 0 评论 -
C#进阶之WebAPI(三)
今天复习一下WebAPI的路由知识:首先分析一下MVC路由和WebAPI路由的区别:在mvc里,默认的路由机制是通过URL路径去匹配控制器和Action方法的,在mvc中的默认路由定义在App_Start文件夹下的RouteConfig.cs文件下:public class RouteConfig { public static void Register...原创 2020-02-22 17:37:18 · 556 阅读 · 0 评论 -
C#进阶之WebAPI(二)
今天学习一下:WebAPI如何使用呢?首先我们打开vs新建一个WebAPI项目,可以看到一共有这些文件夹目录首先了解一下这些文件夹/文件的意义(按照程序启动的流程,相关的配置项就不说了), Global.asax:这个是程序启动的文件,内部的默认方法【Application_Start】对文件绑定、WebAPI路由、mvc控制器路由等进行注册,只会在第一个用户访问的时候...原创 2020-02-22 17:37:06 · 963 阅读 · 0 评论 -
C#进阶系列——AOP?AOP!
前言:今天大阅兵,可是苦逼的博主还得坐在电脑前写博客,为了弄清楚AOP,博主也是拼了。这篇打算写写AOP,说起AOP,其实博主接触这个概念也才几个月,了解后才知道,原来之前自己写的好多代码原理就是基于AOP的,比如MVC的过滤器Filter,它里面的异常捕捉可以通过FilterAttribute,IExceptionFilter去处理,这两个对象的处理机制内部原理应该就是AOP,只不过之前没有这个...原创 2020-02-22 17:33:03 · 216 阅读 · 0 评论 -
C#进阶之WebAPI(一)
最近出去面试,被问到关于WebAPI的知识,因为项目中没有单独写过WebAPI,使用的时候是和mvc结合在一起使用的,所以,在我的印象中WebAPI和mvc是差不多的,这种答案当然不能让人满意了,于是今天做个关于WebAPI的总结,顺便梳理一下相关知识。那么首先第一点:什么是WebAPI? 首先我们了解一下.net framework 的框架构成, 可以看到,W...原创 2020-02-22 17:36:55 · 870 阅读 · 0 评论 -
c#进阶(7)—— 异步编程基础(async 和 await 关键字)
async 和 await 关键字只是编译器功能,编译器会用Task类创建代码。返 回值是一个Task,这种返回新线程的方法虽然可以提高系统的响应能力,但是多线程取值会给编码带来不便,所以新出的关键字await用于阻塞当前线程并 获取目标线程的返回值,在方法体中使用await关键字后要求将方法声明为async用来表示该方法是异步的,并且返回值必须为void或者将返回者封装 在一个Task中...原创 2020-02-22 17:36:11 · 289 阅读 · 0 评论 -
c#进阶(5)—— WCF 实现简单预订功能
1、WCF概述WCF全称为Windows Communication Foundation,在.Net 3.0 中引入,用于客户端与服务端通信,替换了之前的一些技术,如.Net Remoting 及 WSE。WCF 相比ASP.NET Web API 复杂,但提供了更多的功能,如(1)、可靠性(2)、事务(3)、Web服务安全如果不需要这些先进的通信功能,ASP.NET W...原创 2020-02-21 09:53:01 · 695 阅读 · 0 评论 -
c#进阶(6)—— 网络通信基础知识
1、HttpClient 类(1)、HttpClient 类 用于发送HTTP 请求,接收请求的响应。(2)、HttpClient 类 派生于 HttpMessageInvoker类,此基类负责执行 SendAsync(),SendAsync() 方法调用是异步的,可以编写一个完全异步的系统来调用Web服务。2、实例(1)、发出异步的Get 请求。namespace In...原创 2020-02-21 09:51:57 · 220 阅读 · 0 评论 -
c#进阶(4)—— Redis 用于消息队列的存储
1、参考的博文a : http://www.cnblogs.com/lori/archive/2012/04/12/2443708.html —— 主要的实现思路b: http://www.cnblogs.com/liqingwen/archive/2017/04/06/6672452.html —— RedisHelper 类c : https://www.cnblogs.com/...原创 2020-02-21 09:50:46 · 1296 阅读 · 1 评论 -
c#进阶(2)—— ASP.NET MVC 常用路由总结
1、URL模式路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入请求时,路由系统的工作是将这个请求URL与一个模式进行匹配,从此URL为这个模式中定义的片段变量提取相应的值。2、路由的创建与注册(1) RouteConfig.cs配置路由文件(2)RegisterRou...原创 2020-02-21 09:47:22 · 404 阅读 · 0 评论 -
c#进阶(1)—— Task Parallel Library 并行执行与串行执行
本文参考的博文出处:http://www.cnblogs.com/stoneniqiu/p/4857021.html总体说明:(1)、理解硬件线程和软件线程 硬件线程也称为逻辑内核,一个物理内核可以使用超线程技术提供多个硬件线程。所以一个硬件线程并不代表一个物理内核;Windows中每个运行的程序都是一个进程,每一个进程都会创建并运行一个或多个线程,这些线程称为软件线程。硬件线程就像...原创 2020-02-21 09:44:31 · 908 阅读 · 0 评论