在这里我们要讨论的是那些发送信息到数据库,执行业务计算,并在视图中渲染的模型对象。也就是说这些对象代表着应用程序关注的域,模型就是要显示、保持、创建、更新和删除的对象。...ASP.NET MVC中的基架可以为应用程序的创建、读取、更新和删除(CRUB)功能生成所需要的样板代码。...新建的ASP.NET MVC5项目会自动包含对实体框架(EF)的引用。...ASP.NET MVC通过模型绑定(Model Binding)机制来解析客户端传送过来的数据,解析的工作由DefaultModelBinder类进行处理。...在ASP.NET MVC中可以通过使用Bind属性限制可被更新的Model属性。如绑定多个字段中的部分字段:通过Bind属性来定义Model中需要绑定哪些字段。
大家好,又见面了,我是你们的朋友全栈君。 ASP.NET由于采用了管道式设计,所以具有很好的扩展性,整个ASP.NETMVC应用框架就是通过扩展ASP.NET实现的。...通过上面对ASP.NET管道设计的介绍我们知道,ASP.NET的扩展点主要体现在 HttpModule和 HttpHandler这两个核心组件之上,整个ASP.NET MVC 框架就是通过自定义的 HttpModule...和 HttpHandler建立起来的。...为了使读者能够从整体上把握ASP.NETMVC框架的工作机制,接下来我们按照其原理通过一些自定义组件来模拟ASP.NET MVC的运行原理,也可以将此视为一个“迷你版”的ASP.NET MVC。...值得一提的是,为了让读者根据该实例从真正的ASP.NETMVC中找到对应的类型,本例完全采用了与ASP.NETMVC一致的类型命名方式。
在对应用模型的基本构建方式具有大致的了解之后,我们来系统地认识一下描述应用模型的ApplicationModel类型。...MVC框架专门提供了一个名为“ApiExplorer”的模块来完成针对API元数据的导出任务。...,而最初的元数据则来源于应用模型,所以有时候一些针对请求流程的控制需要间接地利用针对应用模型的定制来实现。...Core MVC应用模型的构建[1]: 应用的蓝图 ASP.NET Core MVC应用模型的构建[2]: 应用模型 ASP.NET Core MVC应用模型的构建[3]: Controller模型...ASP.NET Core MVC应用模型的构建[4]: Action模型
当我们开发一款App的时候,App需要跟后台服务进行通信获取或者提交数据。如果我们没有完善的安全机制则很容易被别用心的人伪造请求而篡改数据。 所以我们需要使用某种安全机制来保证请求的合法。...很多同学都会说使用MD5加密一下,其实这是错误的。签名算法不能恢复原来的数据,因为它本身并不包含原来数据的信息。 而加密方法不同,加密方法是可以根据加密结果重新推算出原来的数据的。...HMAC SHA作为一种更加安全的签名算法,使用一个Key来影响签名的结果。这样同样的输入配合不同的Key可以得出不同的签名,更加安全。...我们在基类的OnActionExecuting里取出这些数据组合成签名的参数,然后根据客户端ID获取签名的Key,然后使用同样的签名算法计算签名。并且比较客户端的签名跟服务端的签名是否一致。...因为有时间戳跟随机数的存在,所以理论上每次请求的签名是不可能重复的。
描述属性的PropertyModel对象和描述参数的ParameterModel对象都是为了提供模型绑定的元数据,所以它们具有相同的基类ParameterModelBase。...书信提供模型绑定信息。...,这里的选择器旨在解决如何为请求选择匹配Action的问题,所以它承载的其实针对路由的原始定义。...,为此我们来演示几个简单的实例。...该对象提供的AttributeRouteModel对象自然由RouteAttribute特性提供的路由信息来创建。
从编程的角度来看,一个MVC应用是由一系列Controller类型构建而成的,所以对于一个代表应用模型的ApplicationModel对象来说,它的核心就是Controllers属性返回的一组ControllerModel...我们照例通过一个简单的实例来演示应用模型中用以描述Controller的元数据采用的默认构建规则。...实现类型来实现,我们接下来利用这种方式来改变Controller默认的命名规则。...图2 自定义IControllerModelConvention实现类型定制Controller模型 ASP.NET Core MVC应用模型的构建[1]: 应用的蓝图 ASP.NET Core MVC...应用模型的构建[2]: 应用模型 ASP.NET Core MVC应用模型的构建[3]: Controller模型 ASP.NET Core MVC应用模型的构建[4]: Action模型
我个人觉得这是ASP.NET Core MVC框架体系最核心的部分。...目标Action应该如何执行由描述它的元数据来决定,而这样的元数据是通过ApplicationModel类型标识的应用模型构建出来的。...应用模型为MVC应用构建了一个基于Controller的蓝图,我们先从宏观的角度来看看这张蓝图是如何绘制的。 一、 总体设计 图1基本体现了MVC框架构建应用模型的总体设计。...ASP.NET Core MVC应用模型的构建[1]: 应用的蓝图 ASP.NET Core MVC应用模型的构建[2]: 应用模型 ASP.NET Core MVC应用模型的构建[3]: Controller...模型 ASP.NET Core MVC应用模型的构建[4]: Action模型
这个过程是通过ASP.NET MVC的URL路由机制来实现的。...在我们自定义的ASP.NET MVC框架中,路由数据通过具有如下定义的RouteData类型表示。...我们之前已经提到过ASP.NET MVC本质上是两个自定义的ASP.NET组件来实现的,一个是自定义的HttpModule,另一个是自定义的HttpHandler,而后者从RouteData的RouteHandler...ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller...的激活 ASP.NET MVC是如何运行的[4]: Action的执行
http请求携带参数的地方主要有下面几个地方: URL Header Body 下面看看ASP.NET Core是如何从这几个位置获取参数的。...新建一个MVC项目,新建一个Controller名为FromUrlController,通过几个Action来演示如何从URL上获取参数。...QueryString的Key一致,则MVC框架会自动帮我们绑定参数的值,不用手动获取。...新建一个FromBodyController控制器,通过几个Action来演示如何获取Body的参数。...所以我们只要把这个stream读出来,就能获取提交的数据。有了原始的数据,就可以通过反序列化等操作转换为模型,更简单的获取参数了。
在ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外的操作。...这是一种典型的AOP式的设计,如果我们需要在执行某个Action方法的前后执行一些操作,可以通过定义ActionFilter来实现。...本篇文章主要讲述多一个应用到相同Action方法上的ActionFilter的执行机制。[本文已经同步到《How ASP.NET MVC Works?》...在通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中我们定义了如下三个ActionFilter(FooAttribute、BarAttribute和BazAttribute...,整个ActionFilter链又会如何执行。
现在基本上很少用GET方式来发送json数据,而且postman也不支持.
传统的电子邮件,用户在发送邮件后不能判断邮件是否已经传递到收件人的邮箱,这可能导致用户信息无法及时到达。 ...QQ邮箱透明服务,让你知道每一封邮件的发状态,真正保证你的邮件可以及时传递到对方邮箱。 ...方法:在查询“发送”邮箱中点击任何邮件,可以看到“发送”头与邮件内容之间的联系,点击“查看详细信息可以在邮件中看到具有投递状态”。...如果“投递失败”可以查看详细信息,解析使用“再次发送”功能再次发送邮件。...点击具体邮件记录可以查看邮箱详情,专业版用户可以还可以查看腾讯企业邮箱收件人网页端操作记录。 注:基础版用户不支持。
ASP.NET MVC的URL路由系统通过注册的路由表对HTTP请求进行解析从而得到一个用于封装路由数据的RouteData对象,而这个过程是通过自定义的UrlRoutingModule对HttpApplication...RouteData中已经包含了目标Controller的名称,现在我们来进一步分析真正的Controller对象是如何被激活的。我们首先需要了解一个类型为MvcRouteHandler的类型。...MVC框架是通过自定义的HttpModule和HttpHandler对象ASP.NET进行扩展实现的。...MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller击激活...ASP.NET MVC是如何运行的[4]: Action的执行
的组件来完成的。...,这与在真正的ASP.NET MVC中的同名接口的定义不尽相同。...由于仅仅是对ASP.NET MVC的模拟,定义在自定义的DefaultModelBinder中的Model绑定逻辑比ASP.NET MVC中同名类型中实现的要简单得多。...MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller的激活...ASP.NET MVC是如何运行的[4]: Action的执行
为了上读者从整体上把握ASP.NET MVC的工作机制,接下来我按照其原理通过一些自定义组件来模拟ASP.NET MVC的运行原理,我们也可以将此视为一个“迷你版”的ASP.NET MVC。...MVC根据请求地址来解析出用于处理该请求的Controller的类型和Action方法名称。...接下来我们就来逐步地分析这个自定义的ASP.NET MVC框架是如何建立起来的,而它也代表了真正的ASP.NET MVC框架的工作原理。...ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller...的激活 ASP.NET MVC是如何运行的[4]: Action的执行
前言 这篇文本讲述了这个框架的使用方式,及一些疑问的答疑,更加精准的使用这个框架来建立功能 经过几个版本的迭代,系统使用更加方便,代码更加简洁也更加的智能,所以之前61节的文章也需要重新编排 对项目的了解...项目没有特别难以理解的类库, 就当成一个普通的MVC,三层项目看待即可 目录 我们只需要分为几步就能快速的建立一个具有权限的功能 表设计及约定 生成代码(代码生成器及TT模板) 配置(URL的配置及权限设置...) 1.表设计及约定 框架表的设计必须遵循约定来设计,否则生成的代码需要再重载,而约定只需要遵守2个原则即可 1.表名必须有前缀(前缀即是功能的目录),比如Flow_(工作流) 格式:Flow_Table...注:Spl为区域,在建立区域的时候根据表的前缀来建立就好(代码生成器可以生成连表,需要数据体现设置好表的管系) 3.配置 1.运行系统依次打开:【系统权限管理---->人事管理---->模块维护】...注:1.添加成功后后台会自动追加操作码,操作码即Action方法(按钮) 2.紫色框代表操作码,蓝色框代表字段的权限(字段权限与数据库字段对应,在下一步中可以设置角色是否有权限查看及修改该列
在《[设计篇]》篇中我们通过对View引擎的总体介绍讲述了从ViewResult的创建到View呈现的原理,为了让读者对View引擎及其View呈现机制具有一个深刻的认识,我们自定义一个简单的用于呈现静态...在一个通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中,我们定义了如下一个针对于静态HTML内容呈现的自定义StaticFileView。...StaticFileView实现了IView接口,在实现的Render方法中读取制定文件的内容写入作为参数的TextWriter。 [本文已经同步到《How ASP.NET MVC Works?》...图中列出的View搜寻位置列表中的前两项正是我们自定义的StaticFileViewEngine寻找对应.shtml文件的两个地址。 ?...ASP.NET MVC的View是如何被呈现出来的?[设计篇] ASP.NET MVC的View是如何被呈现出来的?[实例篇]
前言 这篇文本讲述了这个框架的使用方式,及一些疑问的答疑,更加精准的使用这个框架来建立功能 经过几个版本的迭代,系统使用更加方便,代码更加简洁也更加的智能,所以之前61节的文章也需要重新编排 对项目的了解...image.png 项目没有特别难以理解的类库, 就当成一个普通的MVC,三层项目看待即可 目录 我们只需要分为几步就能快速的建立一个具有权限的功能 表设计及约定 生成代码(代码生成器及...TT模板) 配置(URL的配置及权限设置) 1.表设计及约定 框架表的设计必须遵循约定来设计,否则生成的代码需要再重载,而约定只需要遵守2个原则即可 1.表名必须有前缀(前缀即是功能的目录),比如Flow...为区域,在建立区域的时候根据表的前缀来建立就好(代码生成器可以生成连表,需要数据体现设置好表的管系) 3.配置 1.运行系统依次打开:【系统权限管理---->人事管理---->模块维护】 image.png...注:1.添加成功后后台会自动追加操作码,操作码即Action方法(按钮) 2.紫色框代表操作码,蓝色框代表字段的权限(字段权限与数据库字段对应,在下一步中可以设置角色是否有权限查看及修改该列
Web API模板使用ASP.NET MVC提供API帮助页面。我正在使用本教程的空模板,因为我想显示没有MVC的Web API。一般来说,你不需要知道ASP.NET MVC来使用Web API。...添加模型 一个模型是代表你的应用程序中的数据的对象。ASP.NET Web API可以自动将您的模型序列化为JSON,XML或其他格式,然后将序列化数据写入HTTP响应消息的正文。...此外,客户端可以通过在HTTP请求消息中设置Accept头来指示所需的格式。 我们先来创建一个代表产品的简单模型。 如果解决方案资源管理器尚未显示,请单击查看菜单,然后选择解决方案资源管理器。...例如,要获得ID为5的产品,URI为api/products/5。 有关Web API如何将HTTP请求路由到控制器方法的更多信息,请参阅ASP.NET Web API中的路由。...使用Javascript和jQuery调用Web API 在本节中,我们将添加一个使用AJAX调用Web API的HTML页面。我们将使用jQuery来进行AJAX调用,并且还可以使用结果更新页面。
那问题来了,如果别人发布了一个SavedModel模型,我们该如何去了解这个模型,如何去加载和使用这个模型呢? 理想的状态是模型发布者编写出完备的文档,给出示例代码。...但在很多情况下,我们只是得到了训练好的模型,而没有齐全的文档,这个时候我们能否从模型本身上获得一些信息呢?比如模型的输入输出、模型的结构等等。 答案是可以的。...查看模型的Signature签名 这里的签名,并非是为了保证模型不被修改的那种电子签名。我的理解是类似于编程语言中模块的输入输出信息,比如函数名,输入参数类型,输出参数类型等等。.../tensorflow/python/tools/saved_model_cli.py,你可以加上-h参数查看该脚本的帮助信息: usage: saved_model_cli.py [-h] [-v]...查看模型的计算图 了解tensflow的人可能知道TensorBoard是一个非常强大的工具,能够显示很多模型信息,其中包括计算图。
领取专属 10元无门槛券
手把手带您无忧上云