ASP.NET MVC

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

谁说胖子不能爱 提交于 2020-05-02 07:19:37
一、ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式   (1)处理流程   在传统的WebForm模式下,我们请求一个例如 http://www.aspnetmvc.com/blog/index.aspx 的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。   综上所述,在WebForm模式下: 一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。   (2)开发方式   • 服务器端控件   • 一般处理程序+Html静态页+Ajax   • 一般处理程序+Html模板引擎 1.2 ASP.Net MVC的开发模式   (1)处理流程   在ASP.Net MVC中,客户端所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。再说回前面我们运行的ASP.NET MVC程序访问的 http:/

autofac解析Mvc和Webapi的坑

旧城冷巷雨未停 提交于 2020-05-01 18:22:59
我们在项目中很早就开始使用autofac,也以为知道与mvc和webapi集成的做法。 var builder = new ContainerBuilder(); // Mvc Register builder.RegisterControllers(Assembly.GetExecutingAssembly()).AsSelf().PropertiesAutowired(); builder.RegisterFilterProvider(); builder.RegisterType<UserService>().As<IUserService>().InstancePerLifetimeScope(); //WebApi Register builder.RegisterApiControllers(Assembly.GetExecutingAssembly()).AsSelf().PropertiesAutowired(); builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration); builder.RegisterWebApiModelBinderProvider(); var container = builder.Build(); // Set the dependency

【ASP.NET MVC系列】浅谈ASP.NET MVC 视图

℡╲_俬逩灬. 提交于 2020-04-29 20:30:23
ASP.NET MVC系列文章 【01】 浅谈Google Chrome浏览器(理论篇) 【02】 浅谈Google Chrome浏览器(操作篇)(上) 【03】 浅谈Google Chrome浏览器(操作篇)(下) 【04】 浅谈ASP.NET框架 【05】 浅谈ASP.NET MVC运行过程 【06】 浅谈ASP.NET MVC 控制器 【07】 浅谈ASP.NET MVC 路由 【08】 浅谈ASP.NET MVC 视图 【09】 浅谈ASP.NET MVC 视图与控制器传递数据 【10】 浅谈jqGrid 在ASP.NET MVC中增删改查 【11】 浅谈ASP.NET 页面之间传值的几种方式 【12】 浅谈缓存技术在ASP.NET中的运用 【13】 浅谈NuGet在VS中的运用 【14】 浅谈ASP.NET 程序发布过程 【15】浅谈数据注解和验证 【16】浅谈依赖注入 【17】浅谈表单和HTML辅助方法 【18】浅谈基于APS.NET身份验证 【19】浅谈ASP.NET MVC 模型 【20】浅谈ASP.NET MVC 单元测试 【21】浅谈ASP.NET MVC网络安全; 【22】浅谈ASP.NET MVC八大类扩展 【23】再谈ASP.NET MVC Routing 【24】浅谈ASP.NET 高级话题 【25】浅谈大型ASP.NET MVC项目(含DEMO)

xBIM 综合使用案例与 ASP.NET MVC 集成(一)

牧云@^-^@ 提交于 2020-04-29 10:18:42
XbimWebUI是一个Javascript库,可用于BIM模型的Web表示。 它使用WebGL并且独立于任何第三方WebGL框架。 查看器的数据格式为WexBIM。不能直接加载IFC文件。 一、将IFC文件转换成 WexBIM const string fileName = @" LakesideRestaurant.ifc " ; private void button1_Click( object sender, EventArgs e) { var wexBimFilename = Path.ChangeExtension(fileName, " wexBIM " ); IfcStore.ModelProviderFactory.UseHeuristicModelProvider(); using ( var model = IfcStore.Open(fileName)) { // 文件加载完成之后,进行转换 var context = new Xbim3DModelContext(model); context.CreateContext(); // 创建几何图形 // wexbim 只能在WebUI项目中使用 using ( var wexBimFile = File.Create(wexBimFilename)) { using ( var

ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

人走茶凉 提交于 2020-04-28 01:58:51
  之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据。本章将介绍如何使用My SQL来完成数据管理。   在使用My SQL之前需确保开发环境中安装了My SQL数据库和Connector/Net,后者是一个用C#编写的ADO.NET数据提供器,换句话说无论使用SQL Server还是My SQL,ASP.NET都是通过ADO.NET来访问、操作数据库的,它们唯一的区别是数据提供器,所以连接My SQL仍然需要使用System.Data.dll中的类型,以下是之前文章所介绍的:     唯一不同的是My SQL的ADO.NET数据提供器是需要安装Connector/Net。   本文通过以下两点来介绍如何在ASP.NET中使用My SQL数据库:   ●安装My SQL和Connector/NET   ●为My SQL创建一个新的仓储项目 安装My SQL和Connector/NET   Connector/NET下载地址: https://dev.mysql.com/downloads/windows/installer/   MySQL下载地址(安装时可以直接选择是否安装Connector/NET): https://dev.mysql.com/downloads/mysql/   完成后添加数据表与数据:    为My

CQRS之旅——旅程1(我们的领域:Contoso会议管理系统)

南楼画角 提交于 2020-04-27 20:48:57
旅程1:我们的领域:Contoso会议管理系统 起点:我们从哪里来,我们带来了什么,谁将与我们同行?“ 只要前进,我愿意去任何地方。” --大卫•利文斯通 本章介绍了一个虚构的公司Contoso。它描述了Contoso计划推出的会议管理系统,这是一个新的在线服务,可以使其他公司或个人通过此系统组织和管理自己的会议和活动。本章从高层次描述了新系统的一些功能和非功能需求,以及为什么Contoso希望使用CQRS和Event Sourcing实现部分功能。与任何考虑此过程的公司一样,有许多问题需要思考和挑战,特别是这是Contoso第一次同时使用CQRS和Event Sourcing。接下来的章节将逐步展示Contoso是如何设计和构建其会议管理系统的。 另外,本章还介绍了一个虚构的专家小组来评论开发工作。 Contoso公司 Contoso是一家新兴的ISV公司,拥有大约20名员工,专门使用微软技术开发解决方案。Contoso的开发人员熟悉各种微软产品和技术,包括.Net Framework、ASP.NET MVC和Microsoft Azure。一些开发人员以前有使用领域驱动设计(DDD)方法的经验,但是他们以前都没有使用过CQRS模式。 会议管理系统应用程序是Contoso想要推向市场的首批创新在线服务之一。作为一家初创企业

ASP.NET MVC学习目录

冷暖自知 提交于 2020-04-27 03:23:12
一、ASP.NET MVC原理详解 1、了解MVC架构模式 3、学习ASP.NET MVC的必备语言知识 4、MVC中的razor语法详解 5、ASP.NET MVC路由系统机制详细讲解 6、ASP.NET MVC输出生成Url链接详解 7、自定义ASP.NET MVC路由系统截获MVC的路由请求 8、ASP.NET MVC使用Area区域,使用功能模块清晰明了 9、ASP.NET MVC的Controller介绍 10、ASP.NET MVC的Controller接收输入详解 11、ASP.NET MVC的Controller响应输出详解 12、ASP.NET MVC的Filter过滤器详解 13、ASP.NET MVC的Razor视图View详解教程 14、Action参数绑定Model Binding详解 15、自定义ASP.NET MVC Model绑定系统 16、深入ASP.NET MVC Model验证-使用.NET验证特性类指定Mode验证规则 二、ASP.NET MVC高手进阶 2.1 MVC的AOP相关 1、AOP实践--ASP.NET MVC 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁 2、AOP实践--利用MVC5 Filter实现登录状态判断 2.2 MVC中的IOC相关 1、什么是ASP.NET MVC的依赖注入(IoC

Asp.net mvc 大文件上传 断点续传 进度条

↘锁芯ラ 提交于 2020-04-26 16:03:35
概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传、上传性能稳定、突破asp.net上传限制。一开始看到51CTO上的这篇文章,此方法确实很不错,能够稳定的上传大文件, http://developer.51cto.com/art/201002/183218_1.htm ,但是很遗憾的是由于我技术不精湛,无法修改成能够支持断点续传。然后在网上找了很多资料,但是都无法满足我的功能,有些说要ftp,有些说要是Silverlight,都有很多说辞,我也试过很多方法,下载过很多代码,但那都不是我想要的。我想要的是一个简单,功能又齐全的大文件上传功能。 只想用http协议,不想走FTP协议 只想上传大文件,不想受ASP.NET 2G大小限制 不想购买一些付费的上传组件 上传过程中能够删除文件 上传过程中能够显示进度条 上传过程中能够暂停上传 上传过程中出现异常,能够接着上传(断点续传) 如果你想满足上述功能,或者想扩展更多功能。你就往下看 在网上找案例、方法期间在一篇文章中给了我很大的启发。 http://open.dbank.com/wiki/index.php?title=%E6%95%B0%E6%8D%AE%E4%B8%8A%E4%BC%A0 里面的Range属性。 http://www.cnblogs.com/ASPNET2008/p/3360427.html

Unity容器的简单AOP与DI的应用Demo(基于asp.net mvc框架)

纵饮孤独 提交于 2020-04-26 14:57:32
转发请注明出处:https://home.cnblogs.com/u/zhiyong-ITNote/ 整个Demo是基于Controller-Service-Repository架构设计的,每一层之间是通过接口来实现解耦与调用的,参照了《ASP.NETMVC5框架揭秘》一书最后的网站示例架构,使用Unity容器作为DI容器以及实现AOP。 首先Repository文件夹里面的代码文件: 见百度网盘链接 整个Repository相当于三层架构里面的DAL数据访问层,它的作用就是调用数据库,封装了最基本的增删改查,当然你可以选择ADO.NET或是EntityFramework来做数据库驱动。 其次就是Services文件夹里面的代码文件: 见百度网盘链接 整个Services文件主要的功能就是调用下一层的Repository文件夹的相关类。我们在这里就是使用DI中的构造函数注入了,使用接口来实现解耦,这就需要用到unity容器了。这个层次是为上一层的控制器层服务的。 接下来就是Controller层了,这一层调用下一层Services也是基于接口,使用DI构造函数注入实现了解耦。 见百度网盘链接 准备做好了,接下来就是使用Unity容器来替换MVC框架默认的控制器工厂以及基于Unity的AOP设计。

基于Repository模式设计项目架构—你可以参考的项目架构设计

梦想与她 提交于 2020-04-26 14:57:17
关于Repository模式,直接百度查就可以了,其来源是《企业应用架构模式》。 我们新建一个Infrastructure文件夹,这里就是基础设施部分,EF Core的上下文类以及Repository层都放在这里面。 新建一个IReposotory的接口,其内容就是封装了基本的CRUD: public interface IRepository<TEntity> where TEntity : class { /// 获取当前实体的查询数据集 IQueryable<TEntity> Entities{ get ;} /// 获取当前实体的数据集 DbSet<TEntity> DbEntities{ get ;} /// <summary> /// Gets all objects from database /// </summary> /// <returns></returns> IQueryable<TEntity> All(); /// <summary> /// Gets objects from database by filter. /// </summary> /// <param name="predicate"> Specified a filter </param> /// <returns></returns> IQueryable<TEntity>