导航:首页 > 网站优化 > mvcseo

mvcseo

发布时间:2020-08-10 16:00:57

1、Asp.net mvc和asp.net有什么区别?

区别:

一、ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型。(历史挺长远的)使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。 

MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。可将原来的ASP.NET称为 ASP.NET Webforms,新的MVC 称为ASP.NET MVC。

MVC是软件架构的一种模式,可以说就相当于常说的设计模式。其中主要包括三个模块,顾名思义。就如MVC名字所显示的那样:模型(Model),视图(View),控制器(Controller)。mvc中的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的。

二、Asp.net微软提供web开发框架或者技术。分Web Form和ASP.NET MVC。下面简单说明各自优缺点。

Web Form

优点:

WebForm优点

1、支持丰富的服务器控件。

2、支持视图状态,每个控件状态以“隐藏域”的形式存在当前表单页面来达到“有状态”,这就是ViewState

3、基于事件驱动编程,如:click事件等,aspx页面与cs文件分离,即显示逻辑与处理逻辑分离,便于分工,美工、编程。

4、学习成本低。

缺点:

1、站在项目架构的角度,web form不是很理想架构模式,尽管可以使用经典的三层架构或者mvp,但不是最优秀的。

2、性能viewstate成功解决了asp问题,但同样引入新的问题,viewstate页面存储势必增加页面大小、降低程序性能。

3、代码可重用性不好;缺少对并行开发支持,因为aspx页面与cs紧密耦合太高;Seo不友好,因为url指定具体aspx页面;不利于单元测试,因为使用大量事件处理函数。

ASP.NET MVC

Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP.NET MVC不支持ViewState和服务器控件。

优点:

1、有对数据直接访问的权利,如:对数据库的访问;

2、模型(Model)“不依赖”视图(View)和控制器(Controller),即模型(Model)不关心它会被如何显示或者如何被操作;

3、模型(Model)中数据的变化一般会通过一种刷新机制被“公布”;

4、为了实现3中的“机制”用于监视此模型的视图必须事先在此模型上注册。从而,视图可以了解在数据模型上发生的改变。

缺点:

没有viewstate和基于事件的编程,上手慢,学习成本高。

三、使用场景:

1、快速开发------>web form

2、单元测试、性能-------->mvc

3、大量使用js、jquery------>mvc

4.、代码重用性------->mvc

四、WebForm的开发方式

服务器端控件

一般处理程序+Html静态页+Ajax

一般处理程序+Html模板

五、模型不同

WebForm模型

MVC请求模型

DomainModel–领域模型:不仅仅是一个实体类,而是整个业务才处理流程的一个规则。

六、ViewState处理

ASP.Net MVC的开发方式。

2009年第一个开源项目版本发布。

更加简洁,更加接近原始的“请求-处理-响应”。

更加开发、更多的新的特点、社区活跃。

不会取代WebForm。

底层跟WebForm都是一样的。管道上不同的处理而已。

MVC只是表示层的一种新的方式。

MVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目。

MVC目的不是取代WebFrom开发,只是web开发的另外一种选择。

2、asp.net和mvc的有什么关系

ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序

Model:包括数据、验证规则、数据访问和业务逻辑等应用程序信息。
View:封装了应用程序的表示层,是呈现给使用者看的信息。
Controller:包括控制流逻辑,控制信息流和应用程序的执行。接受来自用户的指令与数据,并将Model与View做整合的控制器,当服务器接到对ASP.NET MVC应用程序的要求时,服务器(IIS)会先使用UrlRoutingMole(ASP.NET Routing的 HTTP 模块),由它来解析是否有包含ASP.NET MVC应用程序的URL,若有,则会产生一个MvcRouteHandler对象,这个对象会装载执行的必要信息,并且会呼叫包含在URL中的Controller的Execute方法来执行工作。

3、asp.net mvc框架优缺点

MVC优点:
1.大型开发的时候容易维护,扩展性很好。
2.能够对HTML有完全的控制权限,对于前端来说很友好。
3.能够进行单元测试,保证功能的实现。

缺点:
1.没有那么多的现成控件使用,开发效率相对较低(特别是对于菜鸟来说)
2.对于大型数据的处理比较难,还是因为没有现成girdview控件。这个控件虽然生成的html结构异常复杂,但是对于处理大量而且复杂的数据来说是很不错的。不过一般网站是很少有这种大量且复杂的数据,很多菜鸟都是用这个大炮来打蚊子,浪费且低效率。对于网站开发来说这个控件应该不推荐使用。

刚学的菜鸟和在需要快速开发的情况下用webform就很好。
需要可扩展性,高度控制性情况下用MVC好。但是用这个框架门槛相对较高,如果你只懂asp.net 的webform开发形式的话,因为webform已经帮你做了太多的事情,换句话说你根本不知道真正的web开发是怎么样的。反而精通php,asp的人更容易上手。

MVC和webform开发各有各的用途。
但是你不应该使用asp.net mvc框架,如果符合下面几条:
你对多态不是“非常”的熟悉
你不喜欢在这个框架上构建应用程序
你依赖于很多第三方的UI控件
你不喜欢使用开源的程序

4、.net用web和mvc哪个好一点,我认为mvc执行效率和seo并没有优势?

个人感觉web和mvc确实执行效率都不怎么样,web封装太多,假如用三层架构,方法的调用起码有延时,mvc路径伪静态化--路径太长,不利于优化,所以对于SEO来说都不理想。但又说回来,优势还是有的。

5、.net web开发有WEBFORM、MVC、EF等来开发,它们各有什么优点和缺点?

asp.net Web Forms 

优点:最重要的一点解决方案多,经验丰富,什么需求基本都能找到解决方法。没有什么比服务器端控件再好用的东西了。数据绑定控件(gridview,formview),数据原(objectdatasource,sqldatasource,linqdatasouce),有了这些控件开发业务系统觉得没有比用web forms更好,更快的技术了 提供的服务多,到asp.net2.0 .net framework就提供很多非常好的服务,profile,membership,cache,Microsoft patterns & practices(企业库)UI控件,AJAX,第三支持的比较多有着很多成熟的开发模型比如微软推出petshopN层架构 。

缺点:因为使用了功能强大的服务器控件导致页面比较大,每次post,response的数据相对ajax,silverlight肯定是大的,会影响性能。

Silverlight

优点:开发富互联网应用(RIA)绝对是最合适的技术,,新版Silverlight集成GPU加速,开发3D,多媒体绝对是利器。
对于一些业务系统,做得好的,真的好看,而且好用,用户体验也很好网上可以找不少Demo
新的Silverlight开发模式MVVM虽然比较新但真的很好用,如果要做业务系统那么一定要用MVVM这个设计模式太能体现更多Silverlight开发优势(databinding 功能强大) 

缺点:掌握UI设计工具的人太少,所以做不出很酷,很炫的页面效果。
与后台交互不方便,所有交互只能是web service(WCF),虽然RIA1.0也很方便,但都是异步操作,总没有web form那么直接了当。回调来对调去的还有4.0提供了很强大的匿名方法还有Action<>这些类库。

最后我只能说要想做得好真不容易。

ASP.NET MVC 

我还没有用mvc 2,3做过项目只是最近做一些tutorial,给我的影响就是返朴归真,与后台交互回到了最原始Post,Response,类似回到ASP时代。

优点:层次清晰,Model,Controller,View ,Action,都有向导产生,非常规范,感觉就是很专业,像是搞大项目架构,不想web form那么随意。

页面展现和后台完全分开,去掉了服务器端控件,与后台交互使用JSON数据对象,所以性能上一定优于web form 还有同样强大的Route URL功能,搜索引擎优化SEO。

成熟的MVC设计模式。 

缺点:取消了服务器端控件,使得一些业务系统的输入变得更为单调,在一些也用户的互操作上大打折扣。

与后台交互虽然比Silverlight要好点,不用异步方法,但只能post,submit还是没有web form的事件机制好用。

一定要精通javascript,Jquery,Json不然UI这关真不好过。

最后对于开发业务系统最主要还是提供用户很方便输入数据,快速响应操作,对于开发人员就能很方便保存和更新数据,能很方便调用的需要数数据,调用特定的方法,并返回需要结果。能很方便的调试代码。

虽然silverlight,asp.net mvc都是在asp.net webform后出来的技术,但也没有必要就认为Silverlight,MVC就一定比传统的asp.net webform就好。其实不关什么技术都是为了解决不同的问题而产生,每项技术都有他存在的价值。

可惜很多开发人员对web form的了解还停留在asp.net 1.0的时代,很多asp.net的新特性都没有用到,还有就是拿asp.net的开发模式去开发silverlight应用。

6、大家网站初期一般是怎么做的SEO

考虑域名,空间的速度, 网站内部的优化要适合搜索引擎的抓取,最好用HTML形式,或者MVC开发最好,在就是做一些外链什么,目的是增加自己的连接,可以参考:https://.baidu.com/question/2140805581507699108

7、asp.net mvc的特色与优点

MVC (Model、View、Controller)将一个Web应用分解为:Model、View和Controller。ASP.NET MVC框架提供了一个可以代替ASP.NETWebForm的基于MVC设计模式的应用。
ASP.NET MVC概述·MVC的优点:
1.通过把项目分成Model、View和Controller,使得复杂项目更加容易维护,减少项目之间的耦合。
2.使用ViewState和服务器表单控件,可以更方便的控制应用程序的行为
3.应用程序通过Controller来控制程序请求,并提供了原生的UrlRouting功能来重写Url。
4.使Web程序对单元测试的支持更加出色
5.在团队开发模式下表现更出众
ASP.NET MVC概述·WebForm的优点:
1.采用事件驱动模式来控制应用程序请求,由大量服务器控件支持
2.采用页面控制机制,可以为单个页面添加事件处理函数。
3.使用ViewState和服务器端页面,使管理页面状态信息更加轻松。
4.对人数较少的想使用服务器端控件的开发团队,使用起来更加方便
5.开发起来比MVC模式要轻松简单一些
ASP.NET MVC概述MVC框架特色:
1.分离任务(输入逻辑,业务逻辑和显示逻辑),易于测试和默认支持测试驱动开发(TDD)。所有MVC用到的组件都是基于接口并且可以在进行测试时进行Mock,你在不运行ASP.NET进程的情况下进行测试,使得测试更加快速和简捷。
2.可扩展的简便的框架。MVC框架被设计用来更轻松的移植和定制功能。你可以自定义视图引擎、UrlRouting规则及重载Action方法等。MVC也支持Dependency Injection (DI,依赖注入) and Inversion of Control (IoC,控制反转)的良好支持。
3.强大的UrlRouting机制让你更方便的建立容易理解和可搜索的Url,为SEO提供更好的支持。Url可以不包含任何文件扩展名,并且可以重写Url使其对搜索引擎更加友好。
4.可以使用ASP.NET现有的页面标记、用户控件、模板页。你可以使用嵌套模板页,嵌入表达式<%=%>,声明服务器控件、模板,数据绑定、定位等等。
5.对现有的asp.net程序的支持,mvc让你可以使用如窗体认证和Windows认证、url认证、组管理和规则、输出、数据缓存、session、profile 、health monitoring、配置管理系统、provider architecture特性。

8、.net web开发有WEBFORM,MVC,EF等来开发,各有什么优点和缺点?

asp.net Web Forms
优点:最重要的一点解决方案多,经验丰富,什么需求基本都能找到解决方法。
没有什么比服务器端控件再好用的东西了。数据绑定控件(gridview,formview),数据原控件(objectdatasource,sqldatasource,linqdatasouce),有了这些控件开发业务系统觉得没有比用web forms更好,更快的技术了
提供的服务多,到asp.net2.0 .net framework就提供很多非常好的服务,profile,membership,cache,Microsoft patterns & practices(企业库)
UI控件,AJAX,第三支持的比较多
有着很多成熟的开发模型比如微软推出petshopN层架构
缺点:因为使用了功能强大的服务器控件导致页面比较大,每次post,response的数据相对ajax,silverlight肯定是大的,会影响性能。

Silverlight
优点:开发富互联网应用(RIA)绝对是最合适的技术,,新版Silverlight集成GPU加速,开发3D,多媒体绝对是利器。
对于一些业务系统,做得好的,真的好看,而且好用,用户体验也很好网上可以找不少Demo
新的Silverlight开发模式MVVM虽然比较新但真的很好用,如果要做业务系统那么一定要用MVVM这个设计模式太能体现更多Silverlight开发优势(databinding 功能强大)

缺点:掌握UI设计工具的人太少,所以做不出很酷,很炫的页面效果。
与后台交互不方便,所有交互只能是web service(WCF),虽然RIA1.0也很方便,但都是异步操作,总没有web form那么直接了当。回调来对调去的还有4.0提供了很强大的匿名方法还有Action<>这些类库。
最后我只能说要想做得好真不容易。

ASP.NET MVC
我还没有用mvc 2,3做过项目只是最近做一些tutorial,给我的影响就是返朴归真,与后台交互回到了最原始Post,Response,类似回到ASP时代。
优点:层次清晰,Model,Controller,View ,Action,都有向导产生,非常规范,感觉就是很专业,像是搞大项目架构,不想web form那么随意。
页面展现和后台完全分开,去掉了服务器端控件,与后台交互使用JSON数据对象,所以性能上一定优于web form
还有同样强大的Route URL功能,搜索引擎优化SEO。
成熟的MVC设计模式。
缺点:取消了服务器端控件,使得一些业务系统的输入变得更为单调,在一些也用户的互操作上大打折扣。
与后台交互虽然比Silverlight要好点,不用异步方法,但只能post,submit还是没有web form的事件机制好用。
一定要精通javascript,Jquery,Json不然UI这关真不好过。

最后对于开发业务系统最主要还是提供用户很方便输入数据,快速响应操作,对于开发人员就能很方便保存和更新数据,能很方便调用的需要数数据,调用特定的方法,并返回需要结果。能很方便的调试代码。
虽然silverlight,asp.net mvc都是在asp.net webform后出来的技术,但也没有必要就认为Silverlight,MVC就一定比传统的asp.net webform就好。其实不关什么技术都是为了解决不同的问题而产生,每项技术都有他存在的价值。
可惜很多开发人员对web form的了解还停留在asp.net 1.0的时代,很多asp.net的新特性都没有用到,还有就是拿asp.net的开发模式去开发silverlight应用。
个人建议
如果做业务系统的web项目还是web form好,简单快速,做一些多媒体应用的Silverlight当然是最好了,MVC可能做大项网站内容管理更合适。

当然了,不管什么都是孰能生巧,因为web form最的最多自然就最数量,其他主要还是用的少,我想Silverlight还是不错的如果RIA这块到2.0的时候可能开发会变得更简单。

9、c# .net mvc网站技术做大型的门户网站,是否有利于搜索引擎优化,

mvc做网站肯定是会有利于搜索引擎优化的,因为传统的asp.net会用到很多的服务器控件,会在发布之后的隐藏域里面产生很多多余的代码,这对搜索引擎的爬虫浏览页面信息很不利。
mvc的目的之一就是要把asp.net生成的页面还原至最传统的Html控件和表单提交,不会生成类似的代码,就比较利于搜索引擎优化了。
不过搜索引擎优化,跟很多其他的因素是有关系的,比如页面的标题,关键字描述,页面信息更新频率,是否有高pv值的外联等。所以关于搜索引擎优化,主要其实不在于你选择什么技术来做,搜索引擎优化有句流行的话叫做“内容为王”。
而且个人认为,mvc其实比较利于做一般的展示型网站和信息管理系统,如果选择做大型的门户网站的话是值得商榷的。

10、aspnetmvc网站性能怎么样

利用mvc做网站性能都可以满足用户需求。
MVC (Model、View、Controller)将一个Web应用分解为:Model、View和Controller。ASP.NET MVC框架提供了一个可以代替ASP.NETWebForm的基于MVC设计模式的应用。
ASP.NET MVC概述·MVC的优点:
1.通过把项目分成Model、View和Controller,使得复杂项目更加容易维护,减少项目之间的耦合。
2.使用ViewState和服务器表单控件,可以更方便的控制应用程序的行为
3.应用程序通过Controller来控制程序请求,并提供了原生的UrlRouting功能来重写Url。
4.使Web程序对单元测试的支持更加出色
5.在团队开发模式下表现更出众
ASP.NET MVC概述·WebForm的优点:
1.采用事件驱动模式来控制应用程序请求,由大量服务器控件支持
2.采用页面控制机制,可以为单个页面添加事件处理函数。
3.使用ViewState和服务器端页面,使管理页面状态信息更加轻松。
4.对人数较少的想使用服务器端控件的开发团队,使用起来更加方便
5.开发起来比MVC模式要轻松简单一些
ASP.NET MVC概述MVC框架特色:
1.分离任务(输入逻辑,业务逻辑和显示逻辑),易于测试和默认支持测试驱动开发(TDD)。所有MVC用到的组件都是基于接口并且可以在进行测试时进行Mock,你在不运行ASP.NET进程的情况下进行测试,使得测试更加快速和简捷。
2.可扩展的简便的框架。MVC框架被设计用来更轻松的移植和定制功能。你可以自定义视图引擎、UrlRouting规则及重载Action方法等。MVC也支持Dependency Injection (DI,依赖注入) and Inversion of Control (IoC,控制反转)的良好支持。
3.强大的UrlRouting机制让你更方便的建立容易理解和可搜索的Url,为SEO提供更好的支持。Url可以不包含任何文件扩展名,并且可以重写Url使其对搜索引擎更加友好。
4.可以使用ASP.NET现有的页面标记、用户控件、模板页。你可以使用嵌套模板页,嵌入表达式<%=%>,声明服务器控件、模板,数据绑定、定位等等。
5.对现有的asp.net程序的支持,mvc让你可以使用如窗体认证和Windows认证、url认证、组管理和规则、输出、数据缓存、session、profile 、health monitoring、配置管理系统、provider architecture特性。

与mvcseo相关的知识