![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Asp.net Mvc
qgbooooo
10年 开发经验,熟悉windows Linux
展开
-
Asp.net Module原理
当一个请求从客户端发出,首先经过网络最近的节点,DNS,DNS解析为 IP:port2.请求继续传播到反向服务器3.请求到达服务器的http.sys服务。4.http.sys服务把请求给IIS(或其他的服务)5.IIS创建HttpRunTime 对象。HttpRunTime 创建HttpApplication.6.HttpApplication 中有23个事件。这些事件的执行原创 2017-11-13 14:35:22 · 461 阅读 · 0 评论 -
asp.net 管道处理模型源码
常说管道处理模型的20多个事件,顺序执行。这写顺序执行的事件,控制了asp.net的流程这20几个事件在httpApplication 中。在这个类中,确实可以看到很多事件,他们是怎么串起来的呢?里面有个ApplicationStepManager类,可以看到这个流程如下。代码还有其他看法。internal class ApplicationStepManager : StepManager {...原创 2018-05-14 15:10:27 · 378 阅读 · 0 评论 -
再看aspx
面试的时候,总谈到asp.net的声明周期。这涉及到一些原理性的问题。新建一个webform工程.在default.aspx.cs 的load中写如下的话:说明如下//1.获取模块的完整路径。 C:\\Program Files (x86)\\IIS Express\\iisexpress.exe 可见新来一个请求的时候,都是启动的这个exe,这个exe注入了我们代码编译好的dllstrin...原创 2018-05-08 15:59:35 · 212 阅读 · 0 评论 -
配置某个域名的IP地址
配置某个域名的IP地址在这文件夹下 C:\Windows\System32\drivers\etc,hosts.txt原创 2018-07-06 16:01:37 · 2037 阅读 · 0 评论 -
WCF 最简单实践
1.新建VS2017 控制台程序,添加项:wcf 服务把Iservice1.cs 写成这样: [ServiceContract] public interface IService1 { [OperationContract] int DoWork(); }在 service1.cs 的实现中返回个2:namespace WCF{ ...原创 2018-07-13 18:51:02 · 275 阅读 · 0 评论 -
asp.net mvc 替换默认controller 工厂
1. 在网站启动的时候执行这句话ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory());这个在下面定义public class MyControllerFactory : DefaultControllerFactory{ /// <summary> /// i...原创 2018-10-17 22:52:20 · 629 阅读 · 0 评论 -
asp.net Http协议的理解
常用的请求发送会分几种:请求页面,下载文件,ajax 请求数据.刷新页面一般用超链接发送给服务器,action 执行完,返回。下载文件,也用超链接,到了action ,把数据写入response中,即可。那么就是说,浏览器的返回结果,决定了是刷新页面还是下载文件(区分在于Header的标志)。那么ajax 请求如果到一个下载文件的action, 它会下载一个文件吗?测试结果是不...原创 2018-10-18 10:38:58 · 371 阅读 · 0 评论 -
asp.net mvc widows验证
asp.net mvc widows验证的程序的cs.html 中有@user可以读取用户名等信息这是在管道模型的AuthenticationModule中做了准备的。这个module有如下代码:public void Init(HttpApplication app) { if (!FormsAuthenticationModule._fAuthChecked) { ...原创 2018-10-24 10:23:49 · 425 阅读 · 0 评论 -
asp.net 管道
新建mvc 项目,建立authorizationFilter: public class MyAuthorizationAttribute : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { ...原创 2018-10-24 21:08:08 · 512 阅读 · 0 评论 -
.netcore Linux实践
滴滴云,CentOS 7.31.https://www.microsoft.com/net/learn/get-started/linux/centos 微软最佳实践,先做一个控制台,没障碍。2.windows上新建netcore网站,发布。怎么传到Linux上?软件如winscp或命令rz rz命令需要安装的,输入yum install -y lrzsz,安装成功后,输入rz就可以传输文件。w...原创 2018-05-13 16:56:04 · 345 阅读 · 0 评论 -
Session源码解读
有些场景下session必用,比如登陆时候的验证码。session是httpContext下的字段。类型是HttpSessionState。可以看到这是一个集合,并且实现了IEnumerable,实现了2种索引。具体的存储地方,是在IHttpSessionState类型的container中。namespace System.Web.SessionState{ // // 摘要:...原创 2018-05-13 11:12:51 · 472 阅读 · 0 评论 -
Asp.net 框架解析----生成编译后的文件
1.新建一个网站,第一个请求到达,会编译出一个dll文件,类似这样App_Web_cw4nogpy.dll。文件的位置大约在这里:C:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\vs\c98db087\87a093c1,这个文件怎么生成的呢?以aspx 文件为例:处理aspx 的handler 是P原创 2017-12-11 22:28:04 · 727 阅读 · 0 评论 -
Aspx 生命周期剖析
上篇说到aspx 和他的C#后台代码便宜为一个dll,PageHandlerFactory 要返回一个Handler,进去他的源码看到,最终它返回的是Page,这个没问题,Page实现了IhttpHandler.我们常说的Aspx 的页面生命周期,是怎么实现的呢?PageHandlerFactory 要返回一个IHTTPHandler , 这个handler要执行的是ProcessReq原创 2017-12-12 10:21:02 · 487 阅读 · 0 评论 -
Asp.net 特性
MVC中经常会用到这样的话:@Html.DisplayNameFor(model => model.OpenId)这会把这个属性的名称显示出来。但是如果想显示别的名称呢?就要在属性上加上 [Display(Description= "昵称")] 。解析一下原理,看一下源码: public static MvcHtmlString DisplayNameFor原创 2018-01-21 21:17:22 · 852 阅读 · 0 评论 -
asp.net mvc 之 IOC ,unity
在网站初始化时调用这样一句话:更改默认的controller 容器: ControllerBuilder.Current.SetControllerFactory(new UnityControllerFactory());UnityControllerFactory()继承了 DefaultControllerFactory,下面加粗的话是更换容器的关键 protected ov...原创 2018-03-11 16:27:59 · 246 阅读 · 0 评论 -
控制台托管Webapi
using System.Web.Http;using System.Web.Http.SelfHost;Console.WriteLine("输入1 启动服务,其他值查看http://localhost:8080/api/Products返回结果"); if (Console.ReadLine() == "1") { va...原创 2018-04-09 09:02:07 · 2553 阅读 · 0 评论 -
关于MVC的请求队列测试
一个请求被卡住,那么其他请求能执行吗?网友说http.sys排队什么的。自己先测试一下新建MVC 项目。namespace MVCTest.Controllers{ public class HomeController : Controller { public ActionResult Index() { return ...原创 2018-05-12 11:38:57 · 553 阅读 · 0 评论 -
asp.net 的认证 (authentication) 和授权 (authorization)
1.authorization是用过的,用于访问webapi是否有访问权限。在默认管道模型的Module里,有3个(authentication)和2个authorization的Module <httpModules> <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" /...原创 2018-05-12 23:16:05 · 5249 阅读 · 0 评论 -
最简易 .net FrameWork 的Odata
1. 新建.net FrameWork 项目。不用。netcore .他没有这个模板,有点麻烦2.新建一个类。public class Student { public int Id { get; set; } public string Name { get; set; } public double Weight { get...原创 2019-03-22 17:51:28 · 262 阅读 · 0 评论