500分求微型企业的asp.net服务器及电脑的配置(我后天购买)

500分求微型企业的asp.net服务器及电脑的配置(我后天购买),第1张

有条件的话选择千兆网(趋势)。

服务器

E4300+2GB内存+945主板+320GB硬盘+显卡(集成)+航嘉冷静王1.3钻石……

显示器17CRT

客户端:

C2.66(最便宜的I U)+1GB内存+945主板+80G硬盘+显卡(集成)+航嘉工包……显示器用17液晶吧

这样的配置:服务器4000以内

客户端的话在2800左右

Asp.net有很多值得你挖掘的“秘密”,当你发现了它们,将会给你网站的性能和可扩展性带来巨大提升!例如,对于Membership以及Profile提供程序有一些秘密的瓶颈,它们很容易被解决,从而使认证和授权更加快速。另外,asp.net的http管线可以为每一个请求作处理,防止执行了某些不必要的代码而遭受攻击。不只是这些,asp.net工作进程能够突破默认限制,从而完全发挥它的威力。在浏览器端(不是在服务器端)的页面分段输出缓存能显著减少由于请求访问所需要占用的大量下载时间。在需要的用户界面上的加载能够给你的网站带来快速而平稳的体验。最后,内容分发网络(CDN)以及对HTTP缓存头的正确使用能够使你的网站得到快速响应。

在这篇文章中,你将学习这些技术,给你的asp.net应用程序性能和可扩展性带来巨大的提升。下面是接下来将要讨论的技术:

Asp.net管线优化 Asp.net进程配置优化 Asp.net网站上线之前你必须要做的事 内容分发网络(CDN)

浏览器端缓存Ajax调用 最大限度地正确使用浏览器缓存 在需要的UI上逐步加载以提供快速平滑的体验 优化asp.net 2.0Profile

提供程序 怎样在不“下线”站点的情况下查询asp.net 2.0的Membership表 防止拒绝服务攻击

上面的技术都能够在任何的asp.net网站中实现,特别是那些使用了asp.net 2.0的Membership以及Profile 提供程序的网站。

Asp.net管线优化

有一些asp.net默认的HttpModules被设置在请求管线中,它们会参与每一个请求。例如,SessionStateModule会处理每一个请求,转换会话cookie然后给HttpContext加载适当的session。不是所有的这些模块都总是被需要的。例如,如果你没有使用Membership

以及 Profile

provider,你就不需要FormsAuthentication模块。如果你没有对你的用户使用Windows认证,你就不需要WindowsAuthentication模块。这些模块只是被安置在管线之内,对每一个请求执行某些不是必须要的代码。

这些默认模块被定义在machine.config文件中(位于$WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG directory)

上面的配置非常适合那些使用数据库并基于Forms认证,并且不需要任何Session支持的网站。所以,所有上面这些模块都能够被安全地移除。

Asp.net进程配置优化

Asp.net进程模型配置定义了一些进程级别的属性,例如asp.net使用了多少线程数,在超时之前它会阻塞线程多久,允许多少请求

等待I/O工作完成等。这些默认的配置在很多情况下有太多的限制。现在,硬件已经变得相当便宜,技嘉科技的双核RAM服务器已经变成了非常普遍的选择。所以,进程模型配置可以配置得让asp.net线程使用更多的系统资源,并为每一个服务器提供更好的扩展性。

一个通常的asp.net的安装将按如下的配置创建一个machine.config:

这里除了以下的一些值,其他值都是默认值:

maxWorkerThreads-对每个进程来说20是默认值。在一个双核计算机上,将会给asp.net分配40个线程。这意味着asp.net一台双核机器上一次能够并行处理40个请求在。我将它增加到100,给予asp.net每个进程更多的线程。如果你有一个不是CPU密集型应用程序,可以很容易地处理更多地请求量,那么你可以增加该值。特别是如果你的Web应用程序使用许多Web

Service调用或者下载/上传的许多数据没有给CPU带来压力的话。当asp.net运行超过它允许的工作线程数,它将会停止处理更多到来的请求。请求被放进一个队列中,并保持等待知道一个工作线程被释放。当你的站点开始遭受比你预期的更多的攻击时,通常会发生这样的情况。如果遇到这种情况,如果你的CPU有空闲,给每个进程(asp.net进程)增加工作线程数。maxIOThreads-对每个进程来说20是默认值。在一个双核计算机上,将会给asp.net分配40个线程来进行I/O操作。这意味着在一台双核服务器上asp.net一次可以并行处理40个I/O请求。I/O请求可能是文件的读写、数据库操作、Web

Service的调用Web应用程序内部生成的Http请求等。所以,你可以将它设置为100,如果你的服务器有足够的系统资源来处理更多的I/O请求的话。特别是,当你的Web应用程序经常下载或上传数据,并行调用许多外部的webservice时,效率提升会很明显。minWorkerThreads-当可用的asp.net工作线程数下降到该值以下时,asp.net开始将即将到来的请求压入队列。所以你可以将该值设置为一个很低的数字来增加可被处理的当前请求的数目。然而,不要将它设置地过低,因为Web应用程序代码可能需要做某些后台处理以及某些并行处理需要一定数量的空闲工作线程。minIOThreads-与minWorkerThreads相同,但这个值涉及的是I/O线程数。但是,你可以给它设置一个比minWorkerThreads更低得数字,因为没有发生在I/O线程上并行处理的情况。momoryLimit-指定允许使用内存大小的最大值,是与系统总内存的百分比。它是在asp.net在启动一个新进程和重新分配正在处理的请求之前工作进程可以消耗的内存大小。如果只有你的Web应用程序允许在一个“专用的盒子里”并且没有其他的进程需要RAM,你可以设置它为一个很高的值,比如80。但是,如果你有一个内存泄露的应用程序总是不断泄露内存,最好将它设置为一个低一点的值,以便泄露内存的进程可以在它变得无法处理之前尽快被彻底回收。特别是,当你正在使用一个COM组件并且它产生内存泄露时,就会遇到这种情况。

除了processModel节点,还有一个非常重要的节点——system.net,你可以指定给一个IP它能外发请求数的最大值。

无论什么时候一个页面的请求完成之后,ProfileProvider将自动地保存profile。所以,这可能导致你数据库的一个不必要的更新,它有很显著的性能损失!关闭自动保存并且在你的代码中使用Profile.Save()明确地完成。

上面的三个设置主要是为了高访问量的网站。

内容分发网络

来自浏览器的每一个请求都是通过了跨越世界的骨干网到达你的服务器的。请求需要经过一定数量的国家、大陆、海洋才传递给你的服务器,所以它会变得很慢。例如,如果你将你的服务器架在USA,并且一些人在澳大利亚浏览你的网站,每一个请求都从地球的一端到另一段才能到达你的服务器,然后再返回给浏览器。如果你的站点有很大数量的静态文件,像图片、CSS、Javascript。为它们发送请求,跨越世界去下载它们,将会花费大量的时间。如果你能够在澳大利亚架设一台服务器,并且重定向用户到你在澳大利亚的服务器上去,那每一个这样的请求将比到达美国花费更少的时间。不仅网络延迟会更小,数据传输的路由也将更为快速,因此静态内容将能够以更快的速度下载。

在windows 2003 Server下如何安装IIS6.0,在IIS6.0的配合下我们如何来安装和部署ASP.net环境,以及它们之间关系,下面的内容将给大家一个解答。

1、使用"配置您的服务器向导"安装 IIS6.0

1)从"开始"菜单,单击"管理您的服务器"。

2)在"管理您的服务器角色"下,单击"添加或删除角色"。

3)阅读"配置您的服务器向导"中的预备步骤,然后单击"下一步"。

4)在"服务器角色"下,单击"应用程序服务器 (IIS,ASP.NET)",然后单击"下一步"。

5)阅读概要信息,然后单击"下一步"。

6)单击"完成"。

2、使用控制面板安装 IIS、添加组件或删除组件

1)从"开始"菜单,单击"控制面板"。

2)双击"添加或删除程序"。

3)单击"添加/删除 Windows 组件"。

4)在"组件"列表框中,单击"应用程序服务器"。

5)单击"详细信息"。

6)单击"Internet 信息服务管理器"。

7)单击"详细信息"以查看 IIS 可选组件的列表。

8)选择要安装的所有可选组件。

9)单击"确定",直到返回到"Windows 组件向导"。

10)单击"下一步",然后完成"Windows 组件向导"。

三、在Windows 2003 Server 安装 ASP.NET

Windows Server 2003 家族利用 ASP.NET 和 IIS 集成改善了开发人员体验。ASP.NET 识别大多数 ASP 代码,同时为创建可作为 Microsoft .NET Framework 的一部分工作的企业级 Web 应用程序提供更多的功能。使用ASP.NET 允许我们充分利用公共语言运行库的功能,如类型安全、继承、语言互操作性和版本控制。IIS 6.0 还为最新的 Web 标准,包括 XML、简单对象访问协议 (SOAP) 和 Internet 协议版本 6.0 (IPv6.0),提供支持。

ASP.NET 是一个统一的 Web 开发平台,它提供开发人员创建企业级 Web 应用程序所需的服务。尽管 ASP.NET 的语法基本上与 ASP 兼容,但是它还提供了一个新的编程模型和基础结构以提高应用程序的安全性、缩放性和稳定性。通过逐渐向现有的 ASP 应用程序增加 ASP.NET 功能,我们可以自由地使其增大。ASP.NET 是一个编译的、基于 .NET 的环境;我们可以用任何 .NET 兼容的语言(包括 Microsoft Visual Basic.NET,Microsoft Visual C# 和 Microsoft JScript .NET)创作应用程序。另外,整个 Microsoft .NET Framework 可用于任何 ASP.NET 应用程序。开发人员可以很容易地从这些技术受益,这些技术包括管理的公共语言运行库环境、类型安全、继承等。

ASP.NET的优点如下:

1)可管理性: ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。

2)安全: ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。

3)易于部署: 通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。

4)增强的性能: ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。

5)灵活的输出缓存: 根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。

6)国际化: ASP.NET 在内部使用 Unicode 以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。

7)移动设备支持: ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。

8)扩展性和可用性: ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。

9)跟踪和调试: ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用 .NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。

10)与 .NET Framework 集成: 因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。

11)与现有 ASP 应用程序的兼容性: ASP 和 ASP.NET 可并行运行在 IIS Web 服务器上而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。

安装 ASP.NET

在 Windows Server 2003 家族、Windows 2000 (Professional、Server 和 Advanced Server)以及 Windows XP Professional 上的客户端和服务器应用程序都支持 ASP.NET。

运行 Microsoft Windows Server 2003 家族成员的服务器可以配置为应用程序服务器,并将 ASP.NET 作为在配置应用程序服务器角色时可以启用的选项。要向产品服务器部署 ASP.NET Web 应用程序,在分发应用程序之前,必须确保在产品服务器中启用了 ASP.NET 和 IIS 角色。

1、使用"配置您的服务器"向导在运行 Windows Server 2003 的服务器中安装 ASP.NET

1)从"开始"菜单中,单击"管理您的服务器";在"管理您的服务器"窗口中,单击"添加或删除角色"。

2)在"配置您的服务器向导"中,单击"下一步",并在"服务器角色"对话框中,选中"应用程序服务器 (IIS、ASP.NET)",然后单击"下一步"。

3)在"应用程序服务器选项"对话框中,选中"启用 ASP.NET"复选框,单击"下一步",然后再单击"下一步"。

4)如有必要,请将 Windows Server 2003 安装 CD 插入 CD-ROM 驱动器,然后单击"下一步"。

5)当安装完成时,单击"完成"。

2、在运行 Windows Server 2003 的服务器中使用"添加或删除程序"安装 ASP.NET

1)从"开始"菜单中,指向"控制面板",然后单击"添加或删除程序"。

2)在"添加或删除程序"对话框中,单击"添加/删除 Windows 组件"。

3)在"Windows 组件"向导中的"组件"中,选中"应用程序服务器"复选框,然后单击"下一步"。

4)当在"Windows 组件"向导中完成对 Windows Server 2003 的配置时,单击"完成"。

3、在运行 Windows Server 2003 的服务器中的 IIS 管理器中启用 ASP.NET

1)从"开始"菜单中,单击"运行"。

2)在"运行"对话框中的"打开"框中,键入 inetmgr,然后单击"确定"。

3)在 IIS 管理器中,展开本地计算机,然后单击"Web 服务扩展"。

4)在右侧窗格中,右键单击"ASP.NET"然后单击"允许"。ASP.NET 的状态变为"允许"。

ASP.NET Web 应用程序的布局

ASP.NET 应用程序被定义为可从 Web 服务器上的虚拟目录及其子目录中调用的所有文件和可执行码。其中可以包含网页(.html 文件)、Web 表单页面(.aspx 文件)、Web 表单用户控件(.ascx 文件)、XML Web 服务(.asmx 文件)、HTTP 处理程序、HTTP 模块和其他文件(如图像和配置文件)。现在使用的所有与 Microsoft .NET Framework 版本相关的脚本映射也都是 ASP.NET 应用程序的一部分。ASP.NET 应用程序必须位于 IIS 虚拟目录(也称为应用程序根目录)中。ASP.NET 应用程序可包含已编译的程序集(通常是包含业务逻辑的 DLL 文件)、用于存储预编译代码的已知目录(目录名总是 \Bin)、存储在基于文本的、易读的 Web.config 文件中的配置设置、页、服务器控件,以及 XML Web 服务。

服务器中任何不与其他应用程序共享的预编译代码必须存储在应用程序的 \Bin 目录中。它是应用程序的本地程序集缓存。Web.config 文件在基于 XML 的文本文件中存储应用程序级的配置文件。这意味着可以使用任意标准的文本编辑器或 XML 分析器来创建它们,而且它们是可读的。如果不在应用程序根目录中包含 Web.config 文件,则配置设置由 Machine.config 文件中整个服务器的配置文件来确定。安装 .NET Framework 时,会安装 Machine.config 文件的某个版本。

下图显示了 ASP.NET 应用程序文件系统布局的示例。

本图中的应用程序包括 \Bin 目录中的两个 DLL 文件、一个 Default.aspx 页,一个名为 Menu.ascx 的用户控件、一个名为 MyWebService.asmx 的 XML Web 服务以及一个 Global.asax 文件。另外,该应用程序是使用下列三个配置文件配置的:系统根目录中计算机级别的 Machine.config 文件、C:\Inetpub\Wwwroot 目录中站点级别的 Web.config 文件和应用程序根目录中应用程序级别的 Web.config 文件。当站点的 Web.config 文件覆盖 Machine.config 文件中的设置时,在应用程序根目录中存储的配置设置将覆盖站点的 Web.config 文件和 Machine.config 文件中的设置。

ASP.NET与IIS、ASP 之间的比较

ASP.NET 应用程序与 Internet 信息服务 (IIS) 之间的关系如下:IIS 通过 aspnet_isapi.dll(ASP.NET 的进程模型)对可发布的 ASP.NET 文件的所有请求提供服务。IIS 不会处理服务器端的代码;而 ASP.NET 引擎则会处理服务器端代码,然后将输出返回给 IIS(如果可能,或另一个 Web 服务器)。

ASP.NET 并非仅仅是下一代的ASP,它为创建利用 Internet 的网络应用程序提供了全新的编程模型。ASP.NET与ASP比较的特点如下:

1、改进的性能和可伸缩性

1)编译后执行:ASP.NET 比传统 ASP 的运行速度更快,同时保留了 ASP"只需点击保存"的更新模型。无需显式的编译步骤。ASP.NET 自动检测变化,根据需要动态编译文件,并且保存编译结果以便后续的请求再次使用。动态编译保证了用户的应用程序总是最新的,并且编译后执行的操作会使其运行速度更快。对于多数从传统的 ASP 迁移到 ASP.NET 的应用程序,其处理的页数增长了 3 至 5 倍。

2)大容量输出缓存:ASP.NET 输出缓存极大地改进了应用程序的性能和可伸缩性。当在页面中启用输出缓存时,ASP.NET 就会执行一次该页并将结果在发送至用户之前保存在内存中。当其他用户请求同一页面时,ASP.NET 使用内存中的缓存结果向用户提供服务,而不是重新执行该页面。输出缓存是可配置的,并且可以用来缓存单个区域或整个页面。

3)Web 场会话状态:ASP.NET 会话状态允许我们在 Web 场中的所有计算机之间共享会话数据。现在,用户可以通过多个请求访问 Web 场中不同的服务器,并且仍然具有完全访问会话数据的权限。

2、增强的可靠性

内存泄漏、死锁和故障保护:ASP.NET 自动检测错误(例如,死锁和内存泄漏)并进行恢复以确保我们的应用程序始终可用。例如,当检测到内存泄漏时,ASP.NET 将自动启动新的 ASP.NET 工作进程副本,并将所有的新请求定向到该进程。当旧进程完成挂起请求的处理后,会经过适当的处置并释放泄漏的内存。

3、部署简单

1)"非接触式"应用程序部署:使用 ASP.NET,我们可以通过将其复制到服务器来进行整个应用程序的部署。配置设置将存储在应用程序的 XML 文件中。

2)动态更新运行的应用程序:ASP.NET 允许我们不必重新启动 Web 服务器而更新已编译的组件。与传统的 COM 组件(这些组件需要在部署更新后手动重新启动 Web 服务器)不同,ASP.NET 自动检测更改并使用新的代码启动。

3)迁移路径简单:ASP.NET 可以和传统的 ASP 应用程序一起在 Microsoft Windows 2000、Windows XP、以及 Windows Server 2003 家族成员的 IIS 上运行。我们可以一次迁移一个应用程序,甚至是单独的页面。ASP.NET 甚至允许我们继续使用现有的传统 COM 商务组件。

4、新的应用程序模型

1)XML Web 服务:XML Web 服务允许应用程序通过 Internet 进行通信和共享数据,而不管操作系统和编程语言如何。ASP.NET 使得公开和调用 XML 网络服务变得简单。

2)移动 Web 设备支持:ASP.NET 移动控件允许我们处理超过 80 台使用 ASP.NET 的移动 Web 设备。我们只需一次性写入应用程序,移动控件就能自动生成请求设备的页面。

5、开发人员的效率

1)简单的编程模型:具有服务器控件(这些控件允许我们使用比传统 ASP 更少的代码来构建效果极佳的页面)的 ASP.NET 使得动态构建真实的 Web 应用程序变得更加容易。

2)灵活的语言选项:ASP.NET 不仅支持 Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript,而且支持 25 种以上的 .NET 语言,包括对 Visual Basic .NET、Microsoft C# 和 JScript .NET 的内置支持。

3)丰富的类框架:.NET Framework 类库提供了 4500 多种类,这些类封装了大量的功能,诸如 XML、数据访问、文件上载、正则表达式、图像生成、性能监视和日志记录、事务、消息队列和 SMTP 邮件。

http://www.knowsky.com/4195.html

http://www.pconline.com.cn/pcedu/empolder/net/asp/0509/703426.html

上面说的都很详细


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/68375.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-01
下一篇2023-03-01

发表评论

登录后才能评论

评论列表(0条)

    保存