asp.net 订阅
ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。 [1-2]  ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。 [2-3] 展开全文
ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。 [1-2]  ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。 [2-3]
信息
技术名称
ASP.NET
外文名
ASP.NET
名称简称
.NET
研发公司
微软(Microsoft)
技术全称
Active Server Page .NET
asp.net发展历程
1996年,ASP 1.0(Active Server Pages)版本出现了,它引起了Web开发的新革命,降低了动态网页开发的难度。以前开发动态网页需要编写大量繁杂的C代码,编程效率非常低下,而且需要Web网页开发者掌握非常高的编程技巧。而ASP使用简单的脚本语言,能够将代码直接嵌入HTML,使设计Web页面变得更简单。虽然ASP非常简单,但却能够实现非常强大的功能,这一切得益于其组件。特别是ADO组件,使得在网页中访问数据库易如反掌。这一切推动了动态网页的快速发展与建设,同时使ASP得到迅速流行。1998年,微软公司发布了ASP 2.0,它是作为Windows NT 4 Option Pack的一部分提供的。ASP 2.0与ASP 1.0的主要区别是外部的组件可以初始化,使所有的组件都有了独立的内存空间,并且可以进行事务处理。内置的Microsoft Transaction Server(MTS)使制作组件变得更容易。2000年6月,微软公司宣布了自己的.NET框架。.NET框架的基本思想是:把原有的重点从连接到互联网的单一网站或设备转移到计算机、设备和服务群组上,而将互联网本身作为新一代操作系统的基础。这样,用户将能够控制信息的传送方式、时间和内容,从而得到更多的服务。2001年,ASP.NET浮出水面。它最初的名字为ASP+,后来改为ASP.NET。ASP.NET是微软公司开发的一种建立在.NET之上的Web运行环境,它不是ASP的简单升级,而是新一代的Active Server Pages。ASP.NET是微软公司新体系结构Microsoft.NET的一部分,其中全新的技术架构使编程变得更加简单。借助于ASP.NET,可以创造出内容丰富的、动态的、个性化的Web站点。ASP.NET简单易学、功能强大、应用灵活、扩展性好,可以使用任何.NET兼容语言。 [4-5]  2002年微软发布.NET正式版本.NET Framework 1.0,其中的ASP版本就是ASP.NET 1.0,在此以前发布了两个.NET测试版本Betal和Beta2。2003年微软发布了.NET Frameworrk 1.1正式版,其中ASP版本就是ASP.NET 1.1。2005年微软发布.NET Framework 2.0正式版本,也就是ASP.NET 2.0。 [6] 
收起全文
精华内容
下载资源
问答
  • ASP.NET

    千次阅读 热门讨论 2017-07-30 21:51:51
    ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时...
        ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。

    ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。

    多语言支持
    多语言支持是ASP.NET的重要新特性之一,主要表现在所支持的编程语言种类多和单个语言功能强两个方面。首先,ASP.NET为Web应用提供一种类似于Java编译技术的“二次编译技术”——中间语言MSIL(Microsoft Intermediate Language)执行架构,先将ASP.NET应用编译成MSIL,再将MSIL编译成机器语言执行。这样,只要能被编译成MSIL的编程语言都可以用来编写ASP.NET应用。
    其次,ASP.NET所支持的编程语言是指这种语言的功能全集(而不是子集),所以,ASP.NET中每种编程语言的功能要比ASP中使用的VB script和Java Script更为强大。
    增强的性能
    在ASP.NET中,页面代码是被编译执行的,它利用提前绑定、即时编译、本地优化和缓存服务来提高性能。当第一次请求一个页面时,cLR对页面程序代码和页面自身进行编译,并在高速缓存cache中保存编译结果的副本。当第二次请求该页面时,就直接使用cache中的结果(无需再次编译)。这就大大提高了页面的处理性能。
    类和名空间
    ASP.NET包含一整套有用的类和名空间(Namespaces)。名空间被用做一种有组织的机制——一种表示可用于其他程序和应用的程序组件的方法。名空间包含类。和类库一样,名空间可以使Web应用程序的编写变得更加容易。HtmlAnchor、HtmlContrl以及HtmlForm是ASP.NET中的几个类,它们被包含System.web.UI.HtmlControl空间中。
    服务器控件
    ASP.NET提供了许多功能强大的服务器控件,这大大简化了web页面的创建任务。这些服务器控件提供从显示、日历、表格到用户输入验证等通用功能,它们自动维护其选择状态,并允许服务器端代码访问和调用其属性、方法和事件。因此,服务器控件提供了一个清晰的编程模型,使得Web应用的开发变得简单、容易。
    支持web服务
    ASP.NET提供了强大的、标准化的web服务支持能力,通过使用Internet标准,可以将一个web服务和其他web服务集成在一起。web服务提供了构建分布式web应用的基本模块。ASP.NET允许使用和创建web服务。
    更高的安全性
    与ASP相比,在支持常规windows身份验证方法的基础上,ASP.NET还提供了Passport和cookie两种不同类型的登录和身份验证方法。同时,ASP.NET还采用了基于角色的安全模式,为不同角色的用户指定不同的安全授权。另一方面,ASP.NET还使得创建基于页面的身份验证工作变得更为简单。
    良好的可伸缩性
    在ASP.NET中,允许使用跨服务器会话(Cross - Server Sessions),其会话状态可以被另一台机器或另一个数据库上的其他的进程所维护。随着信息处理和传输流量的增加,可以为系统添加更多的Web服务器。
    无Cookie会话
    即使在浏览器不允许使用cookie的情况下,ASP.NET仍然能够使用户使用会话状态。与带cookie的会话不同,无cookie会话是通过URL将会话标识(SessionID)传递到ASP.NET页面的。
    展开全文
  • ASP.NET管理系统

    千次下载 热门讨论 2013-01-29 17:08:28
    一个简单的asp.net管理系统,有权限分配,控制到按钮级别.采用vs2008开发,数据库附加即可。
  • Asp.Net

    千次阅读 2012-11-09 09:45:21
    asp.net 求助编辑百科名片 ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。 ...

    asp.net

    求助编辑百科名片

    ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。

    编辑本段发展缘起

      ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。不过ASP的缺点也逐渐的浮现出来:
      意大利面型的程序开发方法,让维护的难度提高很多,尤其是大型的ASP应用程序。 直译式的VBScript或JScript语言,让效能有些许的受限。 延展性因为其基础架构扩充性不足而受限,虽然有COM元件可用,但开发一些特殊功能(像文件上传)时,没有来自内置的支持,需要寻求第三方软件商开发的元件。 1997年时,微软开始针对ASP的缺点(尤其是意大利面型的程序开发方法)准备开始一个新项目来开发,当时ASP.NET的主要领导人Scott Guthrie刚从杜克大学毕业,他和IIS团队的Mark Anders经理一起合作两个月,开发出了下一代ASP技术的原型,这个原型在1997年的圣诞节时被发展出来,并给予一个名称:XSP,这个原型产品使用的是Java语言。不过它马上就被纳入当时还在开发中的CLR平台,Scott Guthrie事后也认为将这个技术移植到当时的CLR平台,确实有很大的风险(huge risk),但当时的XSP团队却是以CLR开发应用的第一个团队。
      为了将XSP移植到CLR中,XSP团队将XSP的内核程序全部以C#语言重新撰写(在内部的项目代号是 "Project Cool",但是当时对公开场合是保密的),并且改名为ASP+,作为ASP技术的后继者,并且也会提供一个简单的移转方法给ASP开发人员。ASP+首次的Beta版本以及应用在PDC 2000中亮相,由Bill Gates主讲Keynote(即关键技术的概览),由富士通公司展示使用COBOL语言撰写ASP+应用程序,并且宣布它可以使用Visual Basic.NET、C#、Perl与Python语言(后两者由ActiveState公司开发的互通工具支持)来开发。
      在2000年第二季时,微软正式推动.NET策略,ASP+也顺理成章的改名为ASP.NET,经过四年的开发,第一个版本的ASP.NET在2002年1月5日亮相(和.NET Framework 1.0),Scott Guthrie也成为ASP.NET的产品经理(到现在已经开发了数个微软产品,像ASP.NET AJAX和Microsoft Silverlight)。目前最新版本的 ASP.NET 4.0 以及 .NET Framework 4.0 已经在VS2010平台内应用。

    编辑本段世界级的工具支持

      ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。

    编辑本段强大性和适应性

      因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000/2003 Server/VISTA/7/XP/WIN7上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript , C++、F++。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
      ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#即可。

    编辑本段简单性和易学性

      ASP.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。

    编辑本段高效可管理性

      ASP.net使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的任何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义. 如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的ASP开发经验(当然有经验更好),但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在Asp.net的世界开始展翅高飞了。

    编辑本段IIS

      IIS 指 Internet Information Services(因特网信息服务)
      IIS 是 Windows 2000 捆绑的免费组件
      IIS同时也是 Windows NT 4.0 的可选组件此可选组件可通过因特网下载
      PWS的体积更小,不过拥有 IIS 的完整功能 PWS可在 Windows 95/98 的安装 CD 中找到。
      ASP.net不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。

    编辑本段处理架构

      ASP.NET 运行的架构分为几个阶段:
      在 IIS 与 Web 服务器中的消息流动阶段。 在 ASP.NET 网页中的消息分派。 在 ASP.NET 网页中的消息处理。

    编辑本段Web服务器的消息流动阶段

      当装载(hosting) ASP.NET 的 Web 服务器接收到 HTTP 要求时,HTTP 聆听程序 (HTTP Listener) 会将要求转交给 URL 指定的网站应用程序的工作流程 (Worker Process),ASP.NET 的工作流程处理器 (aspnet_isapi.dll,若是 IIS 5.0 时则是 aspnet_wp.exe) 会解析 URL,并激活位于 System.Web.Hosting 命名空间中的 ISAPIRuntime(视版本)对象,接收 HTTP 要求,并调用 HttpRuntime,运行 HttpRuntime.ProcessRequest(),在 ProcessRequest() 中使用 HttpApplicationFactory 建立新的 HttpApplication (或是指定的 IHttpHandler 处理器),再分派给 Page 中的 ProcessRequest() 或是 IHttpHandler 的 ProcessRequest() 方法,运行之后,再传回到 ISAPIRuntime,以及 aspnet_isapi.dll,最后交由 HTTP Listener 回传给用户端,因为运行程序有如管线般顺畅的运行,因此称为 HTTP Pipeline Mode
      在 ASP.NET 内部的 HTTP 处理器有:
      ISAPIRuntime:由 aspnet_isapi.dll 调用,初始化 HttpWorkerRequest 对象(会由IIS的版本决定要初始化的版本)。 HttpRuntime:提供要求队列 (Request Queue)、调用 HttpWorkerRequest 中的 ProcessRequest() 方法,以及后续的处理工作。 HttpWorkerRequest:产生 HttpApplication、HttpRequest、HttpResponse 等基础对象的 HTTP 要求对象,并将要求转送到要处理的对象(并调用它的 ProcessRequest() 方法)。 IHttpHandler 与 IHttpAsyncHandler:负责处理 HTTP 要求的单元,由 ProcessRequest() 来分派与运行要求。 ASP.NET网页中的事件程序 当 HttpWorkerRequest 调用 ASP.NET 网页(System.Web.UI 命名空间的 Page 类) 的 Page.ProcessRequest() 方法时,它会依序的引发 Page 内的各个事件,并同时调用在 Page 中所有控件的相关事件,其引发顺序为:
      PreInit 事件:运行预先初始化的工作,在ASP.NET 2.0中,若要动态调整主版页面 (Master Page)、布景主题 (Theme) 时,要在这个事件中调整。 Init 事件:运行初始化工作。 InitCompleted 事件:在完成初始化工作后引发。 Preload 事件:运行预先加载的工作。 Load 事件:运行加载的工作,大多数的网页都拥有 Page_Load 事件处理程序,用户控件 (user control) 中也有 Page_Load 事件例程,都会在此时调用。 控件的 PostBack 变更通知:当网页侦测到是 PostBack 要求时,会引发 PostBack 消息通知的事件。 控件的 PostBack 相关事件:当网页侦测到是 PostBack 要求时,会引发 PostBack 消息指定的控件的事件。 LoadCompleted 事件:运行加载完成后的工作。 PreRender 事件:处理在产生 HTML 结果前的工作。 SaveStateCompleted 事件:处理页面状态 (ViewState 与 ControlState) 储存完成后的事件。 Render 事件:处理产生 HTML 的工作。 Unload 事件:处理退出网页处理时的工作。 如果 HttpWorkerRequest 调用的是实现 IHttpHandler 界面的 HTTP 处理程序时,它只会调用 IHttpHandler.ProcessRequest() 方法,由它来处理程序的输出,不像 Page.ProcessRequest() 会处理事件顺序,因此 HTTP Handler 很适合轻量级的数据处理,像是输出文件数据流或是图片数据流等。

    编辑本段事件模型

      ASP.NET 的原始设计构想,就是要让开发人员能够像 VB 开发工具那样,可以使用事件驱动式程序开发模式 (Event-Driven Programming Model) 的方法来开发网页与应用程序,若要以ASP技术来做到这件事的话,用必须要使用大量的辅助信息,像是查询字符串或是窗体字段数据来识别与判断对象的来源、事件流向以及调用的函数等等,需要撰写的代码量相当的多,但 ASP.NET 很巧妙利用窗体字段和JavaScript脚本把事件的传递模型隐藏起来了。
      ASP.NET 的事件模型是由以及数个 Hidden Field 组合而成,基于 HTTP 模型的限制,所有的网页程序在运行结果输出到用户端后,程序就会退出运行,为了维护在 ASP.NET 网页与控件的状态数据,因此在输出 ASP.NET 控件时,ASP.NET 会将部份状态数据储存到网页的 Hidden Field 中,这类型的状态数据称为 ViewState(ID 为 __VIEWSTATE),在服务器端即会被解译出状态与事件数据。在大多数的内置 Web 控件中都有使用到这个机制,因此在使用大量 ASP.NET Web 控件的网页中,会有许多的 ViewState 会存放在网页中并随着 HTTP 数据流输出到用户端,ViewState 在输出时,会被加密为一组乱码字符串,其金钥值定义在计算机中,并且每一个对象都会被序列化 (serialize) 成字符串(因此若是自定义对象要放到 ViewState 时,则应要让它支持序列化),再输出到 __VIEWSTATE 字段中,在每次的网页来回时都会被传输,较大的 ViewState 会让网页大小膨胀,不利于快速的网络传输,不过 ASP.NET 本身有提供将 ViewState 关闭的功能,因此如果控件不需要状态保存时,可将它关闭以减少输出的大小。
      为确保控件的事件能够确实被引发,让事件驱动能够被运行,因此控件事件引发命令时需要的参数,是交由 JavaScript 脚本在用户端引发时,填入另一个 Hidden Field(ID 为 __EVENTTARGET 以及 __EVENTARGUMENT),并且引发窗体的送出指示 (submit),传送到服务端后,服务端的 HttpApplication 中的工具函数会解析 __EVENTTARGET 和 __EVENTARGUMENT 字段中的信息,并且交由控件所实现的 RaisePostBackEvent() 来引发事件,并由 .NET Framework 内部的事件处理器制接手处理(调用控件设置的事件处理程序)。

    编辑本段来回模式

      在 ASP.NET 运行的时候,经常会有网页的来回动作 (round-trip),在 ASP.NET 中称为 PostBack,在传统的 ASP 技术上,判断网页的来回是需要由开发人员自行撰写,到了 ASP.NET 时,开发人员可以用 Page.IsPostBack 机能来判断是否为第一次运行 (当 ASP.NET 发现 HTTP POST 要求的数据是空值时),它可以保证 ASP.NET 的控件事件只会运行一次,但是它有个缺点(基于 HTTP POST 本身的缺陷),就是若用户使用浏览器的刷新功能 (按 F5 或刷新的按钮) 刷新网页时,最后一次运行的事件会再被运行一次,若要避免这个状况,必须要强迫浏览器清空高速缓存才可以。

    ASP.NET 2.0 中有新增三个来回模式:

      Cross Page Postback:允许跨不同的网页运行 PostBack,服务端可使用 Page.IsCrossPostBack 来判断是否是跨网页型的来回。 Async Page Mode:允许网页使用异步的方式运行,服务端可用 Page.IsAsync 来判断。 Callback:ASP.NET 2.0 新增的由网页回呼用户端指令的功能,服务端可用 Page.IsCallback 来判断是否要求是来自 Callback。

    来回模式不仅是 ASP.NET 运作时的内核

      它也是 ASP.NET 应用程序的一个主要缺点,尤其是在设计复杂度高的页面时,在网页中隐藏的 ViewState 的大小会相当大,而在每次的来回动作中,都会传送 ViewState 在内的窗体信息,大量的 ViewState 会使得传送的时间拉长,而且每次来回动作都会让整个网页被刷新,而出现闪烁的情况(就算在本地端也一样),但在AJAX技术尚未成熟时,只能够忍受这种因底层限制所带来的问题,在ASP.NET AJAX技术发展出来后,通过UpdatePanel成功的缓解了这个问题(但 ViewState 传送的问题仍然未根本的解决,必须要使用像 Page Method 这样的方式才能彻底的解决)。

    编辑本段绘制技术

      熟悉 ASP 技术的人都知道,代码都是混在 HTML 标签之间,以输出预期需要的 HTML 指令,这个技术在 ASP.NET 中,由各控件的绘制 (Render) 机制包装起来了,绘制机制装载了 HtmlTextWriter 对象,由它来产生 HTML 指令,它会输出至 HttpContext 的 Response 输出数据流中 (即 ASP 技术的 Response.Write())。

    编辑本段状态管理

      状态管理 (state management) 在Web应用程序中,一向是很重要的课题,良好的状态管理可以帮助开发人员发展出具有状态持续能力的应用程序(像是工作流程型应用程序或是电子商务应用程序),但状态管理功能会视应用程序的部署状态以及信息的共用程度来选择,在 ASP.NET 中,分为服务器端状态管理以及用户端状态管理,用户端状态管理为ViewState以及Cookies,服务端状态管理则是Session与Application对象。它们的差异点在于:
      ViewState 是加密的数据流,和 HTML 一起输出到用户端。 Cookies 是加密(也可不加密)的小型数据,和 HTML 不同,它可以高速缓存在用户端浏览器中。 Session 是服务器端的状态保存机制,每个用户端均有独立的空间(以浏览器运行个体来赋与唯一的SessionID值)。 Application 是服务器端的状态保存机制,但应用程序所有的用户端共用同一份状态数据。

    编辑本段应用程序层级对象

      Application 对象会在应用程序的 Application_OnStart 事件中初始化,并使用名称来识别数据(它是一个 NameObjectCollectionBase 集合的实现品),它会储存在应用程序的范围内,所有的连接(用户)都可以使用,属于共用型的储存体,适合储存所有用户都可使用的数据,在多人使用的情况下,可以适当的使用 Lock/Unlock 的机制来确保应用程序状态的更新。
      Application.Lock();Application["PageRequestCount"] = ((int)Application["PageRequestCount"])+1;Application.UnLock();

    编辑本段连接层级对象

      连接层级的对象是 Session,以浏览器的运行个体为识别单位,数据依浏览器的运行个体来储存,在浏览器的运行个体第一次连到应用程序时,ASP.NET会设置一个 Session ID,并且使用它来识别 Session,每一个 Session 都是 ICollection 与 IEnumerate 的实现,用 key 来识别数据值,并且具有时间的限制 (timeout),若超出时限时服务器会自动清理掉,默认的 Session 时限为 20 分钟。Session ID 的算法是由 RNGCryptoServiceProvider (密码编译乱数产生器提供者)产生,并编码成一个 Session ID 字符串(例如 anf4vuup3xiq0arjlqla2l55 这样的字符串)储存在服务器中,用以识别不同的 Session 个体。
      为因应不同的用户端,ASP.NET 设计了不同的 Session ID 存放机制,像是旧式的浏览器或是行动用户端这种不支持本地储存cookie的设备时,ASP.NET 可以直接在 URL 中加上 Session ID 的识别,像是 http://www.acme.com.tw/(anf4vuup3xiq0arjlqla2l55)/profile.aspx 这样的 URL,可以由开发人员自行设置,或是使用 AutoDetect 设置来让 ASP.NET 自行判断要使用的 Session ID 存放方式。
      Session ID 的产生方法可以由程序开发人员自定义,借由改写 SessionIDManager 的 CreateSessionID() 方法来自定义。
      using System;
      using System.Configuration;
      using System.Web.Configuration;
      using System.Web;
      using System.Web.SessionState;
      namespace Samples.AspNet.Session{
      public class GuidSessionIDManager : SessionIDManager {
      public override string CreateSessionID(HttpContext context) {
      return Guid.NewGuid().ToString();
      }
      public override bool Validate(string id) {
      try {
      Guid testGuid = new Guid(id);
      if (id == testGuid.ToString()) return true;
      }
      catch { }
      return false;
      }
      }
      }[1]

    编辑本段跨机器状态管理

      状态管理在单一服务器上,可以储存在服务器的存储器中,但若是在大型网站中,使用许多的 Web 服务器来实行负载平衡(Load Balancing)处理时,会有状态储存在哪个位置的问题,因此需要有一个可以在每个 Web 服务器之间做状态储存的媒介,像是独立的服务器或是数据库等等。在 ASP.NET 中支持了四种状态储存的媒介:
      InProc:储存与 ASP.NET 相同的运行进程中 (in-procedure state),适合单一服务器的状态储存。 StateServer:储存在 ASP.NET 状态服务器 (state server) 中,适合跨服务器的状态储存,但因为它使用的通讯端口,因此在使用上需要注意防火墙的问题。 SQLServer:储存在独立的 SQL Server 数据库中,适合跨服务器的状态储存。 Custom:以自行实现的状态提供者 (state provider)。

    编辑本段部件

      ASP.NET 是开发 Web 应用程序的基础架构 (framework),除了它内部的运作方法外,对外也显露了许多的开发支持,让开发人员可以利用它来发展出许多强大的 Web 应用程序解决方案。

    编辑本段基础部件

      ASP.NET 最基础的底层为网页 (Page),网页由 System.Web.UI.Page 类来提供基础支持,包含了页面的事件以及对象绘制的引发点(Page 类本身是一个 HTTP Handler 的实现品)。ASP.NET 网页在微软的官方名称中,称为 Web Form,除了是要和Windows Forms作分别以外,同时也明白的刻划出了它的主要功能:“让开发人员能够像开发 Windows Forms 一样的方法来发展 Web 网页”。因此 ASP.NET Page 所要提供的功能就需要类似 Windows Forms 的窗体,每个 Web Form 都要有一个区块,所有的 ASP.NET 服务器控件都要放在这个区域中,这样才可以让 ViewState 等服务器控制能够顺畅的运作。
      使用代码后置模式的设置时,可以让 ASP.NET 运行引擎在加载网页时,由代码后置参数取得对应的类信息,藉以使用 Reflection 的方式来运行后置的代码。
      ASP.NET 可以支持HTML和XHTML两种网页内容,但在Visual Studio.NET中,默认是使用 HTML,但在Visual Studio 2005以后的版本,则一律都改用XHTML格式。

    编辑本段控件

      ASP.NET 的内置控件分为两种:
      HTML 控件 (HTML control):直接在 HTML 标记中加上 runat="server",即可对应到 ASP.NET 指定的 HTML 服务器控件类,像是: HtmlAnchor:表示 HTML 的 Web 控件 (Web control):由 ASP.NET 提供,比 HTML 控件提供更多的功能,但操作与设置会比 HTML 控件要复杂许多,像是: LinkButton:一种外型为链接 HtmlButton:表示 HTML 的 。 HtmlImage:表示 HTML 的 。 HtmlGenericControl:表示没有对应到服务器控件的对象,都会被对应到这个类。 Web 控件 (Web control):由 ASP.NET 提供,比 HTML 控件提供更多的功能,但操作与设置会比 HTML 控件要复杂许多,像是: LinkButton:一种外型为链接 (除了内置的控件之外,ASP.NET 也提供了可以自定义的控件架构,并且支持两种控件开发方法:
      用户控件 (User control),以 .ascx 为扩展名,可以让开发人员用最轻松的方式来开发控件,优点是开发速度很快,但缺点是无法转散布,且无法加入参考。 自定义控件 (Custom control),可转散布型的控件,是经过编译后的代码 (DLL),可单独转散布,并且可在其他的项目加入参考引用,自定义控件有三种开发模式: 基础控件 (General Control):由 System.Web.UI.Control 类继承而来,或是由现有的 Web 控件继承而来,像是由 Button 控件继承。 复合控件 (Composite Control):由 System.Web.UI.WebControls.CompositeControl 继承而来,可以用复合的方式来开发控件。 样板控件 (Template Control):可以在控件中使用样板 (template),并套用数据到样板中,支持数据绑定的表达式。

    编辑本段脚本

      ASP.NET 的 Web 控件有时会包装一些用户端脚本 (client-side scripting),在控件被绘制时输出到用户端,这些脚本多数被包装在 DLL 的资源档中,并由 ScriptResource.axd 处理程序来输出,开发人员也可以利用 ClientScriptManager (Page.ClientScript 属性) 中的方法来添加脚本到网页程序中,常用的方法有:
      ClientScriptManager.RegisterClientScriptBlock():注册用户端脚本区块 (script block)。 ClientScriptManager.RegisterStartupScript():注册在起始时运行的脚本。 ClientScriptManager.RegisterOnSubmitStatement():注册在处理窗体发送时要运行的脚本。 ClientScriptManager.RegisterClientScriptInclude():注册由外部文件 (.js) 提供的脚本来源。

    编辑本段基本对象

      以往在 ASP 中常被使用的五大基本对象,在 ASP.NET 中仍然持续被支持,但它们都换了一个身份来提供:
      Application:包装了 HttpApplication 对象,在程序中使用 Application 指令取得的对象,都是来自于 HttpContext.Current.Application 属性回传而得。 Request:包装了 HttpRequest 对象,在程序中使用 Request 指令取得的对象,都是来自于 HttpContext.Current.Request 属性回传而得。 Response:包装了 HttpResponse 对象,在程序中使用 Response 指令取得的对象,都是来自于 HttpContext.Current.Response 属性回传而得。 Session:包装了 HttpSessionState 对象,在程序中使用 Session 指令取得的对象,都是来自于 HttpContext.Current.Session 属性回传而得。 Server:包装了 HttpServerUtility 对象,在程序中使用 Server 指令取得的对象,都是来自于 HttpContext.Current.Server 属性回传而得。

    编辑本段导览部件

      导览部件 (navigation controls)
      菜单 (Menu):提供内置的鼠标侦测方式,实现层次结构式的菜单功能。 网站地图 (Sitemap):提供可层次化目前浏览位置的功能,可支持由 Web.sitemap 中的数据,或是来自数据库或 XML 数据档中的数据来源。 树状查看 (TreeView):提供层次结构化的数据浏览,类似于资源管理器的界面。

    编辑本段应用程序服务

      应用程序服务(application services) 是在 ASP.NET 2.0 中才开始提供,它以 Provider-based Pattern 为主,实现出数个网站的常用服务,包含会员服务 (Membership Service)、角色服务 (role service)与设置档服务 (profile service) 等。
      会员服务由 Membership 以及其数据提供者 MembershipProvider 构成,应用程序使用 Membership 所显露的方法来操作,它会将要求转送给指定的 MembershipProvider 实现来处理,ASP.NET 目前支持来自于数据库的 SqlMembershipProvider (支持 SQL Server) 以及来自于活动目录的 ActiveDirectoryMembershipProvider,开发人员也可以自行由 MembershipProvider 继承来实现自定义的会员服务数据提供者。
      角色服务与会员服务类似,由 Role 以及其数据提供者 RoleProvider 构成,应用程序使用 Role 所显露的方法操作,由 RoleProvider 实现提供数据服务,目前内置的 RoleProvider 有来自 活动目录 或 XML 文件的 AuthorizationStoreRoleProvider,由 SQL Server 供应数据的 SqlRoleProvider,以及支持 Windows 角色的 WindowsTokenRoleProvider 三种,开发人员可自行实现 RoleProvider 的方法以发展出自定义的角色服务提供者。
      设置档服务是一个特殊的服务,它结合了 .NET Framework 的 CodeDOM 开发模式,以及 System.Web.Profile 命名空间的 ProfileBase、ProfileInfo 与 ProfileManager 等类,组合出完整的设置档支持,其数据来源也是以 Provider-based Pattern 为主,由 ProfileProvider 提供,ASP.NET 内置由 SQL Server 数据库建立的 SqlProfileProvider,其字段系由开发人员在 ASP.NET 组态档中自行定义,再由 ASP.NET 动态产生强型别的字段属性。
      设置档服务也是作为 ASP.NET 2.0 的网页组件(Web Part Framework) 所需要的设置档储存支持,Web Part Framework 可以让开发人员可以开发出具备个人化能力 (Personalization) 的网页配置方案,让用户可以用自行新增与拖放的方式来设计自己的网页布置,所需要的设置储存即由设置档服务处理。
      另一个需要和应用程序服务配合使用的功能为 Web 事件架构 (Web Event Framework),它需要由应用程序服务提供数据结构,它也有 Provider-based Pattern,并可以支持数种的事件数据提供者。

    编辑本段延展性支持

      除了 ASP.NET 网页以外,.NET Framework 还提供了两种可以由开发人员自行发展处理模型的模块,一种是HTTP Handler,另一种则是HTTP Module。
      HTTP Handler (扩展名为 .ashx) 由 System.Web.IHttpHandler 界面定义了必要的方法(可支持异步的 HTTP Handler 称为 HTTP Async Handler,由 System.Web.IHttpAsyncHandler 界面定义),其中最重要的方法是 ProcessRequest() 方法,开发人员必须要实现这个方法,才能够让 HTTP Handler 有作用,它也可以通过 ASP.NET 的组态设置,让 HTTP Handler 可以处理特定的扩展名,它可以被视为 .NET Framework 中的 ISAPI Extensions 实现方法。
      HTTP Module 则是由 System.Web.IHttpModule 界面定义,它可以在整个网页生命周期中被调用多次,并实际处理由 HttpApplication 所引发的事件,开发人员需要实现 IHttpModule.Init() 方法,以及处理 HttpApplication 事件需要的代码。它可被视为 .NET Framework 中的 ISAPI Filter 实现方法。

    编辑本段一致性与多样性界面的支持

      ASP.NET 在一开始的时候是缺乏范本引擎 (template engine) 的,其主因是.NET Framework本身是面向对象,且需要用继承的方式才能够延伸功能,大多数的开发人员都是由 System.Web.UI.Page 继承并定义出新的基类,并撰写要绘制 HTML 的方法,以及在他们的应用程序中修改以继承该类,然而这个方法可能会被用在网站的很多地方,因而会大大的提升混合代码与标记的复杂度,这个方法也只能在运行期才能够以可视化的方式测试,无法在设计时期可视化,其他的开发人员总是使用原有的 ASP 方法(即 指令)来把每个网页需要的部份包到网页中,防止在每个网页中都要撰写相同的导览代码。
      在 ASP.NET 2.0 中,推出了主版页面 (master page)的概念,它可以让开发人员先行定义外观版型 (*.master),再使用它来套用实际运行的网页,网页与主版页面之间以 ContentPlaceHolder 的 ID 做链接,以套用正确的内容到保留区 (即由 ContentPlaceHolder 包住的区域) 中,开发人员也可以定义在保留区没有套用时需要显示的默认内容。在 ASP.NET 3.5 中更进一步的支持设计时期的嵌套主版页面 (nested master pages),以及把网页的 HEAD 区块纳入 ContentPlaceHolder 的范围。
      与主版页面相关的,还有主题(Theme)以及面板(skin)技术,这两个技术允许开发人员或设计人员自行定义网页的样式设置以及套用的样式支持,每个主题中可以包含数个面板档,这些面板档决定了控件要输出时套用的样式,开发人员则可以利用主题来决定不同的外观要使用的样式。
      ASP.NET 也允许在应用程序中动态的变更主版页面与主题,但必须要在页面的 PreInit 事件例程设置。
      void Page_PreInit(Object sender, EventArgs e){ Page.MasterPageFile = "~/NewMaster.master"; Page.Theme = "MyTheme";}

    编辑本段编译模型

      ASP.NET 在 1.x 时,使用的是组件为主的编译方式,一个网页只会产生一个组件,这个方式最大的优点,就是可以自由定义命名空间,且在部署应用程序时会比较方便,但由于 ASP.NET 1.x 所处的时代,如果网站是有许多代码的情况下(即 DLL 档很大),加载的速度会变慢,且占用存储器的量会很多,当时的存储器价格也尚未降到现在的水平。因此在 ASP.NET 2.0 开始,另外提供了一个预先编译(Pre-compilation) 的编译模型,这个编译方法会将每个网页都各自编译成一个组件,其文件名称会是 App_[乱数字符串].dll 命名,在编译时期由 ASP.NET Pre-compilation 工具 (aspnet_compiler.exe) 给定,优点是可以不必加载过量的代码到存储器中,但缺点则是无法自定义命名空间,而且在更新时必须要更新所有的 DLL 档以及网页等,否则会造成名称不一致,让 DLL 无法被加载的问题。
      早期 ASP.NET 2.0 仅提供预先编译模式,让它的缺点很快的被暴露出来,因此微软也为 ASP.NET 2.0 开发了沿用 ASP.NET 1.x 的编译模型的工具:Web Application Project,在 Visual Studio 2008 中开始内置,至此,ASP.NET 支持两种编译模式的架构抵定。

    编辑本段安全性支持

    验证

      ASP.NET 的验证方式有三种:
      Windows 验证:由 IIS 目前运行的帐户,或者是用户模拟 (user impersonate) 帐户的方式进行验证。 窗体验证:由窗体的数据提供验证,开发人员自定义验证逻辑,并交由 ASP.NET 窗体验证工具写入验证凭证,以进行授权。 Passport 验证:在 ASP.NET 1.x 中,连接Windows Live ID (当时的旧称为Microsoft Passport) 服务以进行验证。

    授权

      ASP.NET 的授权方式有两种:
      文件授权:由 ASP.NET 检查文件的 访问控制表 (ACL) 来授权访问权限。 URL授权:由开发人员设置的 URL 来给予权限。

    编辑本段Web Service支持

      ASP.NET 1.0 开始支持 Web Service 的开发,是微软在本地平台上支持 Web Service 发展的第一个实现品,但它却不是微软的第一个 Web Service 开发工具实现品,.NET Framework 中提供了一个 WSDL.exe,可以连接 Web Service 下载WSDL定义档,并产生一个 Proxy Class 的源代码,供用户端应用程序使用,若是使用 Visual Studio 开发的话,这个动作会由“加入 Web 参考”的动作在背后处理掉。
      ASP.NET Web Service 的发展只是平台的基础,微软在 Web Service 的开发上提供持续的支持,尤其是在 WS-I (Web Service Interoperability) 组织成立后,为符合 WS-I 的 Web Service 标准,微软开发了强化 Web Service 的增强包 Web Service Enhancement (WSE),最新版本为 3.0 版(搭配 ASP.NET 2.0),可支持许多 WS-I 的标准。
      由于 Windows Communication Foundation 的推出,微软将 Web Service 的发展重心移到 WCF 上,原有的 ASP.NET Web Service 即给定了一个名称:ASMX Web Service。

    编辑本段扩充功能

      ASP.NET 在 2.0 版时,功能已大致底定,成为 Web 应用程序的基础架构,微软开始在 ASP.NET 2.0 上开发扩充的功能,包括 AJAX 的支持、MVC架构的支持以及更容易开发出数据库应用的架构。
      
      ASP.NET

    ASP.NET

    编辑本段执行效率大幅提高

      ASP.net是把基于通用语言的程序在服务器IIS上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。但是ASP.net也有一个特点,就是每修改一次程序(即代码类)必须重新编译一次,修改几次就必须重新编译几次,执行效果也会有所降低。

    编辑本段相关课程

      ASP.NET 2.0 快速入门
      ASP.NET 2.0安全系列课程
      ASP.NET 2.0入门与提高系列课程
      ASP.NET 3.0
      ASP.NET 3.5开发系列课程
      ASP.NET AJAX深入浅出系列课程
      ASP.NET MVC框架开发系列课程
      ASP.NET 开发实践
      ASP.NET 新特性

    编辑本段优秀ASP.NET程序员修炼之路

      “为人写程序”
      初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够、不全面。
      写给机器的程序,往往追求的是运行正确、执行效率能满足要求。但程序员的任务仅仅就是把业务逻辑转成机器能编译的计算机语言吗?
      其实,程序首先(注意,是首先)是写给人的。第一,程序是写给看代码的人的。第二,程序是写给用程序的人的。了解这一点,才能理解写程序为什么要有代码规范,为什么要有各种文档,为什么写子程序时要命好名,为什么要分层,为什么要学设计模式,为什么要写测试用例,为什么要推敲按钮的摆放,为什么要按XHTML标准写Web界面,为什么要用AJAX … …理解了这一点,才能更好的做好上面种种事情。
      谁都在说“细节决定成败”,谁都知道要注意细节。为什么大家都在讲细节,有的人能通过细节打败对手,有的人连细节在哪一方都不知道,这就是水平的高低所在。我们要有心理准备:细节不是喊一声就会出现在你面前的。感知到细节,这是一个需要不断学习和实践,甚至有人指导的过程。这个过程有长有短,要看个人的学习能力,领悟能力。但最起码,我们首先要有一个方向。找程序的细节,方向就是“为人写程序”,在你做设计,写代码,摆弄界面的时候,心里时刻记住这一点,几个项目下来,你自然能看到很多细节了。
      “内外兼修”
      武侠电影里的高手,往往都是通过奇门心法,内力陡增而成为高手的。但我们做程序的,要成为高手,“内外兼修”才能事半功倍。内,指的是需求把握,设计思想,设计模式等。外,指的是写代码时的规范,做界面时的严谨等。
      看武侠看多了的我们,偏内轻外的特点是很明显的。看看书店里写设计模式主题的书籍和指导代码规范的书籍的数量和销量对比就是一个很好的证明。但是就算设计模式一套一套,但写的类却给人看半天也看不出思路的话,一两年之后,你仍将陷入一个个泥潭中。
      再举个例子,有的人自称ASP.NET程序员,而且他写出来的后台代码也层次清晰,条理清楚,但是做出来的界面,结构与表现混杂,一大堆IDE自动生成的垃圾代码充斥其中,该用单选框的用文本框,按钮放在谁都想不到的地方,不该用户操作的要用户操作,一步可操作完的搞成几步也不能完成操作……很显然,他不可能做出成功的产品。也许他也知道界面要合理,但是就是因为他不修外功,认为我是搞.NET这种先进技术的,去补习什么HTML、JavaScript、CSS不是自贬身价吗?其实,认真研究过HTML、JavaScript这些技术的人都会体味到,运用这些技术比流行的.NET、Java更有挑战性,而且你获得直接操作用户界面元素的能力后,以前那种做界面效果、接口功能时有心无力的情形将一去不返,这是很痛快的!
      如何学习ASP.NET
      要成为一个优秀的ASP.NET程序员,不仅要掌握.NET框架,理解ASP.NET的原理,而且要对DHTML架轻就熟,甚至对各种浏览器之间的差异也要有所了解,所以做ASP.NET程序员是一件很有挑战的工作。那么如何学习ASP.NET,并最终成为优秀的ASP.NET程序员呢?
      我认为可以分为两个步骤来走:首先,熟悉ASP.NET各种标准控件的用法,了解ASP.NET工作原理。接着,朝“内”和“外”两个方向扩展自己的知识和技能。
      在Visual Studio .NET这样优秀的IDE帮助下,我们使用各种ASP.NET控件,掌握ASP.NET基本的工作原理应该是比较容易的。如能辅以几个简单的项目练习一下比较复杂的GridView、DataList等数据绑定控件的话,基本掌握ASP.NET是应该没有多大问题的。
      之后,我们就可以朝两个进阶方向前进了。“修内”的话,深刻理解面向对象的编程思想是必修的,然后是各种的B/S框架的模式(比如MVC)的理解,最后是设计模式等等软件工程的概念和技术。“修外”则更重实践。首先,做项目时注意把一些可以实现在客户端的逻辑用DHTML在客户端实现出来,以此掌握结合服务端、客户端技术的方法,加深对HTML的DOM对象的理解,熟练常用的JavaScript技巧。进而练习对Web界面的结构、数据、表现三者进行分离的规划、设计与实现。
      如此看来,学习ASP.NET也并不是一件很难的事情,注意“为人写程序”,“内外兼修”,自然就能做出合格的应用程序。

    编辑本段Windows Server 2003安装ASP.net

      在Windows Server 2003系统服务器上安装ASP.Net的方法如下:
      第1步,打开Windows Server 2003(SP1)系统的“控制面板”并双击“添加或删除程序”图标,在打开的“添加和删除程序”对话框中单击左侧的“添加/删除Windows组件”按钮,打开“Windows组件向导”对话框。
      第2步,在“组件”列表中找到并单击“应用程序服务器”选项,单击“详细信息”按钮。在“应用程序服务器”对话框中分别选中“子组件”列表中的ASP.net复选框。依次单击“确定”→“下一步”按钮开始安装,可能会提示插入Windows Server 2003(SP1)系统安装光盘或指定安装源文件路径。
      第3步,单击“完成”按钮结束安装,并关闭“添加或删除程序”对话框。

    编辑本段ASP.NET与asp的区别

      目前很多人对asp.net和asp很混淆,有的甚至认为两者是一样的!因为他们根本不了解,其实两者是不同,asp是解释性编程框架,而asp.net是编译性框架,asp.net无论是从执行效率和安全上都远远超过asp,而文件上也是有差异的asp的后缀是.asp 而asp.net则是 .aspx和.aspx.cs ,asp.net实现了代码分离。可以说让代码管理更加直观。

    编辑本段Asp.Net版本

      Asp.Net1.0和Asp.Net1.1的设计是良好的,因为在Asp.Net 2.0中只有很少的改动是修复已有的特性的,Asp.Net保留了同之前版本相同的基础,增加了新的、更高层此的特性支持,主要特性如下:
      1.丰富的控件
      2.模板页
      3.主题
      4.安全和成员资格
      5.数据源控件
      6.Web部件
      7.配置文件
      Asp.Net3.0并不存在,微软使用.Net Framework3.0的名称发布了一系列的新的技术,其中最着名的有WPF,它是用于构建富客户端的全新用户界面技术,WCF使用于构建面向消息的服务技术,以及WF允许把复杂的业务逻辑过程建模为一组动作,不过.Net Framework3.0没有包括新版本的CLR或者Asp.Net
      Asp.Net的下一版本直接进入了Asp.net3.5,Asp.Net3.5的新特性主要集中在两个方面----LINQ和Ajax

    1.LINQ

      LINQ是一组用于C#和VB语言的扩展,它允许编写C#或VB代码以查询数据库相同的方式操作内存数据。
      1.1 LINQ to Objects:它是可以针对对象的集合执行查询,从对象中解析出特定的细节
      1.2LINQ to Data Set
      1.3LINQ to XML
      1.4LINQ to SQL

    2.Asp.Net Ajax

      Asp.Net Ajax :异步的JS和XML,Ajax是一项客户端快捷编程技术,它允许页面不必触发一次完整的回发就可以调用服务器方法并更新自身的内容,通常Ajax页面通过客户端脚本代码触发一次幕后的异步请求,服务器接受到请求后,执行默写代码,返回页面所需的数据(通常是一些XML 标记快),最后客户端代码获得新数据后利用它们在执行其他动作,如刷新页面的一部分
      Asp.Net使用的是Asp.Net2.0引擎,混合着.Net2.0、.Net3.0、.Net3.5的程序集
    展开全文
  • 主讲内容: 第一讲课程简介 第二讲开发环境搭建 第三讲 ASP.NET页面语法 第四讲 ASP.NET页面语法2 第五讲 第一个网站创建
  • 知识点:理解 ASP.NET 的概念和优势、会创建 ASP.NET Web Form 程序、理解 ASP.NET Web Form 程序的执行阶段、会使用代码内嵌和代码后置两种方式进行编码。 1、网站开发基础了解 1.1 网站开发各环节组成 1.2 ...

    知识点:理解 ASP.NET 的概念和优势、 会创建 ASP.NET Web Form 程序、 理解 ASP.NET Web Form 程序的执行阶段、 会使用代码内嵌和代码后置两种方式进行编码。

     

    1、网站开发基础了解

    1.1   网站开发各环节组成

    1.2    开发网站需要的知识结构

    (1)网站开发前台页面技术

    • 页面设计:HTML、DIV+CSS
    • 页面特效:JavaScript、jQuery

    (2)OOP编程核心公共技能

    • C#基础语法与程序逻辑
    • 面向对象编程基础
    • SQL Server数据库开发基础
    • ADO.NET数据访问技术

    (3)网站开发后台专门技术

    • ASP.NET开发基础
    • 基于WebForm开发企业网站
    • MVC框架学习
    • EF框架学习
    • 基于MVC+EF开发企业网站

     

    2、 ASP.NET概述

            通过学习 HTML+CSS我们会制造静态页面了。静态页面的最大的优点是速度快,可以跨平台,跨服务器。在早期网站建设大多都是静态页面制作的,静态页面的网址是以.HTM、HTML 等为后缀的,在这种静态网站上也可以由动态效果,像滚动字幕,GIF 格式的动画,或是FLASH,这些视觉上的动态效果并不就是动态页面,他们是截然不同的概念。所谓动态网页,就是说该网页文件不仅具有 HTML 标记,而且含有服务器端的脚本程序代码, 实现操作数据库、实现交互等功能。动态网页能根据不同的时间,不同的来访者显示不同的内容,而且动态网站更新方便,一般在后台直接更新的,并不需要人工手动修改代码。

            制造动态页面的主要技术有 ASP.NET、JSP 、 PHP 等,本课程主要讲解 ASP.NET 技术。本章,我们初步认识ASP.NET,了解它的概念和优势,掌握 ASP.NET Web Form 的编码方式等内容。

    2.1   ASP.NET的概念

            开发 Web 程序的主要技术有 ASP.NET、JSP 和 PHP。其中 ASP.NET 是微软公司整个.NET Frame Work 的一部分,使用它可创建动态交互的 Web 页面。其中,ASP 的全称是 Active Server Pages(动态服务器页面),是一种使嵌入在网页中的服务器脚本可由服务器执行的技术。

            ASP.NET、.NET Frame Work 及对应的集成开发环境 Visual Studio 一直以来都在不断地更新,这些更新包括.NET 框架类库的不断扩充、不断纳入新的语言特性等。.NET Frame Work 2.0 的出现标志着.NET Frame Work 真正走向成熟,同时也说明了 ASP.NET 技术的成熟与稳定。为了 支持 ASP.NET 的开发,Visual Studio 也在不断地升级版本。

    2.2   ASP.NET的优势

            作为微软公司.NET Frame Work 的一部分,ASP.NET 技术延续了 Microsoft 的一贯优势,即开发效率高、强大的 IDE(Integrated Development Environment, 集成开发环境)设计工具的 支持。除了这些,ASP.NET 还具备以下优势。

    1)与浏览器无关

            无论使用何种版本的浏览器访问 ASP.NET 应用程序,呈现的结果都一致。ASP.NET 遵循 W3C标准化组织推荐的 XHTML 标准生成页面的代码,而 XHTML 标准被目前所有主流浏览器支持。

    2)编译后执行,运行效率高

            代码编译是指将代码“翻译”成机器语言。ASP.NET 先把代码编译为微软中间语言,然后由即时编译器进一步编译成机器语言。编译好的代码再次运行时不需要重新编译,极大地提高了Web 应用程序的运行效率。

    3)易于部署

            将必要的文件复制到 Web 服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至替换运行的编译代码时,也不需要重新启动 Web 服务器。

    4)丰富的可用资源

            ASP.NET 可利用整个.NET 平台的资源,包括.NET 框架类库和数据访问解决方案等。ASP.NET本身提供了大量的控件,包括与传统 HTML 代码对应的 HTML 控件和重新封装的 Web 控件。

    5)支持多层开发

            ASP.NET 支持多层开发,从而改变原来 Web 项目开发代码混乱,难以管理的状况,使得 Web 项目开发逻辑更清晰,管理维护更方便。

    6)逻辑代码和设计代码分离

            ASP.NET 将逻辑代码放于单独的文件中,将 Web 界面元素和程序逻辑分开显示,这样可以是代码结构更加清晰,方便维护和阅读。

     

    3、创建第一个ASP.NET程序 

    3.1  ASP.NET WebForm的概念

            ASP.NET  WebForm 是微软的开发团队为开发者设计的一个在可视化设计器中拖放控件、编写代码响应事件的快速开发环境。在 WebForm 中,微软将 ASP.NET 的开发模型与 WinForm 统一起来,提供了类似于 WinForm 的控件、事件驱动模型,使 ASP.NET 应用程序的开发体验与 Win Form应用程序高度一致。

            在.NET Frame Work 3.5 SP1 发布前,ASP.NET  WebForm 一直是微软官方提供的唯一的 ASP.NET开发框架。在.NET Frame Work 3.5 SP1 中,微软提供了另一种 ASP.NET 的开发框架即 ASP.NET MVC。

    3.2  创建WebForm应用程序

            开发 ASP.NET Web Form 程序的一般过程:创建解决方案(.sln)  →  添加网站 →  添加 Web →  窗体 →  编写代码 →  调试运行。

            创建 ASP.NET Web Form 程序,实现当用户点击按钮,页面输出“Hello World”的功能。实 现步骤如下所述。

    步骤 1:打开 Visual Studio 2017,点击菜单栏【文件】——【新建项目】, 在弹出的【新建项目】窗口中,在左侧展开“其他项目类型”列表,在列表中选择“Visual Studio 解决方案”。在窗口顶端的.NET 框架版本下拉列表中选择“.NET Framework4.5”,输入解决方案名称和位置后, 单击【确定】按钮。

    步骤 2:在“解决方案资源管理器”窗口中,右击“解决方案”,在快捷菜单中选择“添加”  →  “新建项目”,如图所示。

    步骤 3:弹出【添加新项目】窗口,在窗口的左侧选择开发语言是“Visual C#”,在窗口的 右侧选择“ASP.NET Web应用程序(.NET 应用程序)”,最后给您的Web站点起个名字,这个案例里,我们起的是“HelloWeb”,并浏览选择 Web 站点的保存位置后,最后单击【确定】按钮

    在弹出的【新建ASP.NET Web应用程序 - HelloWeb】窗口中,点击选择【空】,然后再单击【确定】按钮

    在解决方案中添加了名称为“HelloWeb”的站点后,解决方案资源管理器中的目录结构如图所示。Web.config 是 XML 文件,用于网站的配置。

    步骤 4在解决方案里,右击“HelloWeb”的网站,在快捷菜单中选择“添加” →  “Web窗体”。

    此时会弹出一个【指定项名称】,默认名称WebForm1,单击【确定】按钮。

    此时,会自动生成一个WebForm1.aspx文件,并在VS程序中打开,“WebForm1.aspx”即为创建的第一个 Web 页面。

    步骤 5:在“WebForm1.aspx”页面,进行html代码编写,这里只简单的写了title标签设置网页标题,并在body里输出一句话“Hello World”。

    步骤 6:启动运行调试,点击菜单栏【启动】

    在浏览器中查看网页效果。

     

    3.3   快速创建WebForm应用程序

            将上面的步骤简化。

    第一步:打开VS后,在菜单栏单击【文件】——【新建项目】,在弹出的【新建项目】窗口中,依次选择左侧的Visual C#,中间部分的.NET 框架版本下拉列表中选择“.NET Framework4.5”,程序选择“ASP.NET Web应用程序(.NET 应用程序)”,给自己的项目起个名字,浏览好项目存放的位置,可以选择新创建一个解决方案,最后单击【确定】按钮。

    在弹出的【新建ASP.NET Web应用程序 - HelloWeb】窗口中,点击选择【空】,然后再单击【确定】按钮。

    第二步:在解决方案里,右击“HelloWorld”的网站,在快捷菜单中选择“添加” →  “Web窗体”。

    此时会弹出一个【指定项名称】,默认名称WebForm1,可以根据需要自行修改项名称,这里修改为“index”,单击【确定】按钮。

    第三步:在解决方案里,右击“index.aspx”,在快捷菜单中选择“查看设计器”。

    第四步:在设计器界面,从工具箱里依次拖入Label控件和Button控件,并在属性面板修改他们的ID属性、Visible属性、Text属性。(注意:如果VS界面没有找到工具箱、属性面板,可以在菜单栏视图里找到他们)

    第五步:在设计器界面,双击【确定】按钮,进入代码文件,在按钮的Click事件中编写代码:

            protected void BtnSure_Click(object sender, EventArgs e)
            {
                lblInfo.Visible = true;
                lblInfo.Text = "hello world!";
            }

    第六步:启动运行调试,点击菜单栏【启动】

     

    总结:ASP.NET WebForm 的应用程序与大一所学的 WinForm 的应用程序类似,都使用了控件+事件驱动模型,这正是使用 ASP.NET WebForm 技术编写 Web 程序的优秀之处。

     

    4、 ASP.NET 程序的运行机制

    4.1   ASP.NET 程序的执行阶段

    ASP.NET 是一个 Web 开发模型,能创建动态可交互的 Web 页面。ASP.NET 程序的执行方式一般分为以下几个阶段:

    (1) 使用动态 Web 开发技术,如 ASP.NET,编写 Web 应用程序,即动态页面,并部署到 Web服务器端;

    (2) 客户端通过浏览器请求该动态页面;

    (3) Web 服务器定位该 Web 应用程序;

    (4) Web 服务器根据客户端的请求,对 Web 应用程序进行编译或解释,并生成 html 流。将生成的 html 以流的形式返回给客户端;

    (5) 客户端浏览器解释 html 流,并显示为 Web 页面。

    网站的运行原理:

     

           当请求发送至 Web 服务器并被其接收后,服务器会判断请求文件的类型

    • 如果是静态文件, 如 htmljpggif txt 等,服务器会自行根据目录找到文件并发送给客户端。
    • 如果是动态文件, 如 aspx,服务器会通过 aspnet_isapi.dll 将请求转交给ASP.NET 运行时环境进行处理。

             ASP.NET 会先检查代码是否已经被编译。如果没有,则将代码编译成 MSILMicrosoft Intermediate Language, 微软中间语言),然后由 JIT((Just-in-time:即时)编译器进一步编译成机器语言执行。其中,JIT 并非一次完全编译,而是调用哪部分代码就编译哪部分,这样用户等待时间更短。同时,编译好的代码再次请求运行时不需要重新编译,极大提高了 Web 应用程序的性能。这种先将代码编译成中间语言,执行时再编译成机器语言的过程称为二次编译。

     

    4.2   ASP.NET 的服务器

             ASP.NET 程序需要使用 Web 服务器作为发布平台,ASP.NET 使用 IIS 作为 Web 服务器。 IIS(Internet Information Service,Internet 信息服务)是微软开发的 Web 服务器,它基于 Windows 操作系统,操作方便,功能强大。

             实际上,我们在开发阶段并不用配置 IIS,我们只需要像 WinForms 开发那样编码,然后单击运行就可以了。微软在 Visual Studio 中内置了一个轻量级的 Web 服务器,运行应用程序时,将会默认启动它,并在状态栏中出现图标,右击该图标,在弹出的快捷菜单中选择“显示 所有应用程序”选项,可以查看当前正在运行的站点信息,如图所示。

     

    4.3   ASP.NET WebForm的事件驱动模型

             ASP.NET WebForm 和 WinForm 一样,都使用了控件+事件驱动模型。但 ASP.NET WebForm 实现的本质完全不同。在 ASP.NET WebForm 中由用户操作引发的事件中,触发事件的操作在客户端,处理有可能在服务器端。在实际应用中,客户端和服务器端往往是不同的机器;而在 WinForm 中,事件的触发和处理都在执行程序的机器上进行。

             在 ASP.NET WebForm 中,用户操作触发一个事件有可能会产生一次新的 HTTP 请求。如果产生新的请求,那么服务器端在对请求应答时,对用户触发的事件进行处理,将处理结果生成新的页面传递给浏览器,浏览器自动刷新,重新加载整个新的页面,我们把这个过程称为回发(postback)。

    示例练习:WebForm 和 WinForm实现对比

    第一步:在已有的项目中,新添加一个Web窗口,并在设计器界面,拖放一个Button控件,同时修改ID属性为“btnAdd”。再拖放一个Label控件,修改其ID属性为“lblInfo”。

    第二步:双击【Button】按钮,进入Click事件代码编写

            int i = 0;
            protected void btnAdd_Click(object sender, EventArgs e)
            {
                i++;
                lblInfo.Text = "累计到:" + i;
            }

    第三步:启动运行程序,在页面,单击【Button】按钮,观察累计变化。

    第四步:在当前解决方案中,新添加一个窗体项目

    第五步:在窗体界面,添加两个控件Button和Label控件

    第六步:双击Button控件,进入代码编写模式

            int i = 0;
            private void button1_Click(object sender, EventArgs e)
            {
                i++;
                label1.Text = "累计到:" + i;
            }

    第七步:在解决方案资源管理器里,右键单击“WindowsFormsApp1”,在弹出的快捷菜单项里单击【设为启动项】

    第八步:启动运行,预览,在窗体界面,单击【Button】按钮,观察累计变化。

    案例思考:在 WinForm 和 WebForm 两种程序中,输入同样的代码,为什么执行的结果不一样?

     

     

    5、 ASP.NET WebForm 的编码方式

               ASP.NET 有两种编码方式:代码内嵌和代码后置。

     

    5.1   代码内嵌

            把所有的代码都写在.aspx 文件中,不需要.cs 文件,然后把 c#代码写在<% %>或者<script language=”c#” runat=”server”></script>之间。

    示例练习:使用代码内嵌的方式在页面上显示 1 到 100 之间的和。

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <script language="c#" runat="server">
                    int sum = 0;
              </script>
              <%for (int i = 1; i <= 100; i++)
                    {
                          sum += i;
                    }
                %>
            <h2>1到100之间的和是:<span style="color:red"><%=sum %></span></h2>
            </div>
        </form>
    </body>
    </html>

    页面执行效果:(注意:初次编译时,速度会比较慢)

    代码分析:<%=sum %>是<%Response.Write(sum)%>的简化,表示在页面输出变量 sum,Response 是 ASP.NET 的系统对象,会在下一章学习。

     

    5.2   代码后置

            代码后置是微软的一项技术,是编写 ASP.NET 常用的编码方式。具体方式见本章节的第一个示例,在该示例中,页面文件.aspx 和代码文件.cs 两个文件关联构成一个页面。一般情况下,.aspx 的源文件中没有 c#代码,只有控件和 HTMl 代码,而在.cs 文件中编写相关的服务器端代码,这种将控件和布局与代码进行分离的技术称为代码后置。代码后置的好处就是代码和页面内容分离,使代码更清晰。

    示例练习:使用后置代码的方式,在页面上输出 1 到 100 之间的和。

    操作步骤:在上一个示例中,在项目方案资源管理器中,新添加一个Web窗体,并双击打开他对应的.cs文件,

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace WebApplication1
    {
        public partial class WebForm2 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                int sum = 0;
                for(int i =1; i<=100; i++)
                {
                    sum += i;
                }
                Response.Write("<h2>1到100之间的和是:<span style='color: red'>"+sum+"</span></h2>");
            }
        }
    }

    代码分析:代码中“Page_Load”方法是在加载页面时触发执行的,即由 Page 对象的 Load 事件触发执行,Page 对象是 ASP.NET 的系统对象,会在下一章学习。

            运行某个页面时,可以在解决方案资源管理器中右键单击页面,在弹出的快捷菜单中选择“在浏览器中查看”;也可以右键单击需要作为起始页的文件,在弹出的快捷菜单中选择“设为起始页”,按“F5”键运行网站。

     

     

     

     

     

    ===========这里是结束分割线==============

     

    展开全文
  • Asp.net MVC 与 Asp.net Web API 区别

    千次阅读 2019-07-27 17:00:57
    Asp.net MVC 与 Asp.net Web API 区别 Asp.net MVC 与 Asp.net Web API 区别Asp.Net Web API VS Asp.Net MVC 在我们开发一些web应用时,我们一样可以在MVC Framework 中使用JsonResult 来返回JSON数据,同样也可以...

    Asp.net MVC 与 Asp.net Web API 区别

    1. Asp.net MVC 与 Asp.net Web API 区别Asp.Net Web API VS Asp.Net MVC

    在我们开发一些web应用时,我们一样可以在MVC Framework 中使用JsonResult 来返回JSON数据,同样也可以处理一下简单的AJAX请求,那么为何微软又推出Web API这么个东西呢?接下来我们来比较一下。二者(Asp.net MVC 与 Asp.net Web Api)何时用?

    Asp.Net Web API VS Asp.Net MVC

    1、Asp.net MVC 是用来创建返回视图(Views)与数据的Web应用,而Asp.net Web API是一种简单轻松地成熟的HTTP服务,它只返回数据,不返回视图(Views)。

    2、Asp.net Web API可以通过.Net Framework来帮助我们构建REST-ful服务,而且他支持内容协商(根据客户端能接受的格式要求,返回相应的JSON,XML,ATOM),同时Asp.net Web API支持自我宿主(self-hosting),而MVC并不支持(只能宿主在IIS中)。

    3、Asp.net Web API可以返回特定的数据类型,比如JSON,XML,或者其他在请求头中定义的数据格式。而MVC只能利用Json Result返回JSON数据类型。

    4、Asp.net Web API 根据HTTP 谓语动词来映射Action,但MVC只是映射 Action 名称。

    5、Asp.net Web API 一种全新的框架,它是Asp.net Framework 核心库的一部分。在Asp.net Web API 一些存在MVC中的特征(model binding、filters、路由)是存在System.Web.Http程序集中,而MVC是存在System.Web.Mvc中。因此,Web API 可以和Asp.net一起使用,也可以做独立的服务层。

    6、如果在一个项目中融合Web API和MVC controller,用于处理复杂AJAX请求,这些请求可能返回JSON,XML或者其他数据格式。这就是Web API 自我宿主(Web API self-hosting)。

    7、如果融合MVC和Web API 控制器(controller),而且需要集成认证,这时,需要创建两个过滤器(Filters),一个MVC的,另一个Web API的,因为他们两个是不相同的。

    8、总之,WebApi在提供数据方面,是比MVC更加轻量的架构。

    1. 简单的总结

    一.MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据
    二.Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式
    三.Web API支持Self Host,MVC目前不支持
    四.b API通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作
    五.b API内建于ASP.NET System.Web.Http命名空间下,MVC位于System.Web.Mvc命名空间下,因此model binding/filter/routing等功能有所不同
    六.b API非常适合构建移动客户端服务

    展开全文
  • ASP.NET Core: 全新的ASP.NET

    千次阅读 2018-06-15 05:40:29
    背景最新版本的 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5) 它颠覆了过去的 ASP.NET。什么是 ASP.NET Core?ASP.NET Core 1.0 是一个开源跨平台的开发框架,用于构建基于云的现代 Web 应用 。它是从底层开始...
  • C# ASP.NET MVC WebSocket

    千次下载 热门讨论 2012-10-20 18:03:30
    ASP.NET MVC C#语言实现WebSocket
  • 初级学软件之ASP.NET第三季 ASP.NET控件的使用 视频课程 主讲内容: 第一讲 文本类型控件-Label 第二讲 文件类型控件-TextBox 第三讲 按钮类型-Button 第四讲 按钮类型-LinkButton 第五讲 按钮类型-...
  • ASP.NET Core: 全新的ASP.NET !

    千次阅读 2018-05-29 12:50:15
    https://www.cnblogs.com/powertoolsteam/p/5653733.html背景最新版本的 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5) 它颠覆了过去的 ASP.NET。什么是 ASP.NET Core?ASP.NET Core 1.0 是一个开源跨平台的开发...
  • asp.net 后台管理系统界面

    千次下载 热门讨论 2012-09-24 21:25:32
    后台界面asp.net 有不少套,可以自己挑选。
  • 现在开始,首先创建一个asp.net core的网站,我使用的vs2019,启用docker支持,选择的是linux容器,这个要和你docker容器类型一致,可以切换的,切换方式如下图 切换docker容器的方式 此时有一个坑,dockerfile里...
  • 在你将现有的用户登录(Sign In)站点从ASP.NET迁移至ASP.NET Core时,你将面临这样一个问题——如何让ASP.NETASP.NET Core用户验证Cookie并存,让ASP.NET应用与ASP.NET Core应用分别使用各自的Cookie?因为ASP...
  • ASP.NET】——asp.net入门

    千次阅读 热门讨论 2016-12-29 17:24:35
     前段时间一直在学《Asp.net》,视频资料速度真的是慢到可以,终于看完了,这一个个视频的学习如同在收割玉米,现在到了颗粒归仓的时候了,知识学习的过程可以简化为:分类——比较——汇总,把学过的知识融入到...
  • ASP.NET MVC4.0新特性: APS.NET MVC5新特性 ASP.NET WebAPI2新特性: ASP.NET WEB Form与ASP.NET MVC5区别: MVC 与三层架构的关系:
  • post 请求需要传Asp.net_Sessionid 哪位大神知道这个怎么获取,然后再传过去
  • ASP.NET Core是微软新推出支持跨平台、高性能、开源的开发框架,相比起原有的ASP.NET来说,ASP.NET Core更适合开发现代应用程序,如跨平台、Dork...
  • Asp.net浅谈之一:Asp.net简介

    千次阅读 热门讨论 2014-02-21 21:39:25
     学习完于海涛老师讲的Asp.net视频,对Asp.net算是有了一个初步的认识,解决了 很多就怕不知道的问题,接下来会根据老师讲的视频和自己的理解程度,对Asp.net做一 个大致的总结。主要包括: Asp.net浅谈之一:Asp...
  • 什么是Asp.Net core 我相信很多C# Developer已经对于.net core不算陌生了,就算没有正式使用相信也应该有所了解。微软在推出来.net core的同时为了方便一些原有的项目可以方便迁移,同时推出了Asp.net core。那么...
  • ASP.NET vs MVC vs WebForms许多ASP.NET开发人员开始接触MVC认为MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,...
  • 使用Asp.netAsp.net Core 访问 阿里云RocketMQ GitHub Demo :https://github.com/zhanglilong23/Aliyun_RocketMQ_Net 如果你使用的是.Net Core 请忽略本项目,直接查看阿里云官方的项目mq-http-csharp-sdk ...
  • ASP.NET MVC 5.0——ASP.NET管道原理

    千次阅读 2015-04-12 15:10:04
    1.IIS与ASP.NET IIS 与ASP.NET 是两个相互独立的管道,在各自管辖的范围内,具有自己的一套机制对HTTP请求进行处理。两个管道通过 ISAPI 实现联通,IIS是第一道屏障,当对HTTP请求进行必要的前期处理之后,IIS通过...
  • ASP.NET】 WebForm和asp.net MVC异同点

    千次阅读 热门讨论 2017-03-05 19:13:17
    asp.net 的开发模式主要有两种:一是WebForm。二是MVC。两者可以共存,并且都是基于asp.net core的。
  • 这篇文章主要介绍了64 位 ASP.Net 已注册 需要 32 位 ASP.Net 才能安装 Microsoft Reporting,需要的朋友可以参考下 64 位 ASP.Net 已注册。需要 32 位 ASP.Net 才能安装 Microsoft Reporting Services 2005 (32 位)...
  • ASP.NET MVC 教程 ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。 ASP.NET 支持三种不同的开发模式: 1.Web Pages(Web 页面) 2.MVC(Model View Controller 模型-视图-控制器...
  • ASP.NET Web API和ASP.NET Web API 2有什么区别?分别怎么创建呢?
  • asp.net学习总结——对asp.net的理解

    千次阅读 2016-06-11 16:09:40
    asp.net技术的浅显理解

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 320,680
精华内容 128,272
关键字:

asp.net