设为首页 收藏本站
查看: 742|回复: 0

[经验分享] 对比IIS与ASP.NET Development Server

[复制链接]

尚未签到

发表于 2015-8-14 08:28:47 | 显示全部楼层 |阅读模式
如何使用 Internet 信息服务 (IIS) 或内置 ASP.NET Development Server 来测试和运行网站

Posted on 2006-08-08 09:18 dotnet-dzq 阅读(4524) 评论(0)  编辑 收藏

  若要测试或运行 ASP.NET Web 应用程序,需要一台 Web 服务器。用于 Microsoft 操作系统的成品 Web 服务器是 IIS,它包括 Web 服务器、文件传输协议 (FTP) 服务器、简单邮件传输协议 (SMTP) 虚拟电子邮件服务器以及其他设备。为了运行 IIS,您使用的 Windows 版本必须是设计用于在网络环境中用作服务器的版本。这包括 Windows Server 2003 的 Web 版。
  在 Windows 2000 Server 和 Windows 服务器操作系统的早期版本中,IIS 作为操作系统的一部分默认安装。在 Windows XP 和 Windows Server 2003 中,不会默认安装 IIS;可以在“控制面板”中使用“添加/删除程序”中的“添加/删除 Windows 组件”选项来添加 IIS。(在 Windows Server 2003 中,可以使用应用程序服务器组件安装 IIS。)
  可能会因下列原因不能使用 IIS:


  •   在不支持 IIS 的 Windows XP Home Edition 中开发 ASP.NET 网页。

  •   因安全原因,您不想在计算机(例如,家庭网络中)中承载 Web 服务器。运行 IIS 等 Web 服务器需要执行附加的步骤来帮助确保服务器的安全,还需要随时注意安装最新的安全更新。

  •   公司策略不允许安装某些服务器组件,如 IIS。


ASP.NET Development Server


  如 果您不能或不想使用 IIS 作为 Web 服务器,仍然可以通过使用 ASP.NET Development Server 来测试 ASP.NET 网页。ASP.NET Development Server(Visual Web Developer 中附带的)是在 Windows 操作系统(包括 Windows XP Home Edition)中本地运行的 Web 服务器。它专门构建用于在本地主机方案中(从 Web 服务器所在的计算机中浏览)提供或运行 ASP.NET 网页。换句话说,ASP.NET Development Server 会针对本地计算机上的浏览器请求提供网页。它不会为其他计算机提供网页。此外,它也不会提供应用程序范围外的文件。ASP.NET Development Server 提供了在向运行 IIS 的成品服务器发布网页之前在本地测试网页的有效方式。
  ASP.NET Development Server 只接受本地计算机上的经身份验证的请求。这要求服务器可以支持 NTLM 或基本身份验证。



注意

  一种最佳做法是不要在作为管理员登录时运行 Visual Web Developer,而应以更受限的帐户运行它。这有助于防止意外访问服务器中的其他文件。


  ASP.NET Development Server 只能处理单独的网页,且不包括 IIS 的附加设备。例如,ASP.NET Development Server 不支持 SMTP 邮件服务器。如果您的 Web 应用程序涉及发送电子邮件,则必须具有 IIS SMPT 虚拟服务器的访问权以测试电子邮件,因为 ASP.NET Development Server 不能转发电子邮件或调用可以转发邮件的服务器。

运行 ASP.NET Development Server


  默 认情况下,ASP.NET Development Server 随 Visual Web Developer 一起安装。如果您正在处理文件系统网站,则 Visual Web Developer 将自动使用 ASP.NET Development Server 来运行网页。默认情况下,在为本地主机方案随机选择的端口上调用 Web 服务器。例如,如果要测试名为 ExamplePage.aspx 的页,则当在 ASP.NET Development Server 中运行该页时,该页的 URL 可能为:



  


http://localhost:31544/ExamplePage.aspx

  关闭浏览器时,ASP.NET Development Server 再次关闭。
  如果要在特定端口上运行 ASP.NET Development Server,可以为此相应地配置服务器。在下列情况中您可能要执行上述操作:


  •   如果应用程序中的代码侦听特定端口,并且您想使用 ASP.NET Development Server 测试应用程序。

  •   如果您的应用程序包括对绑定到特定端口的客户端项目或 Web 服务的引用。

  Visual Web Developer 不能保证指定的端口在运行文件系统网站时可用。有关详细信息,请参见如何:为 ASP.NET Development Server 指定端口。

ASP.NET Development Server 的安全上下文


  ASP.NET Development Server 与 IIS 之间的重要差别在于各服务器运行 ASP.NET 页所在的安全上下文。由于页运行方式不同,此差别可能会影响测试。
  使 用 ASP.NET Development Server 运行页时,该页在当前用户帐户的上下文中运行。例如,如果您作为管理员级别用户运行,则在 ASP.NET Development Server 中运行的页将具有管理员级别特权。相反,在 IIS 中,ASP.NET 默认在通常具有有限特权的特殊用户(ASPNET 或 NETWORK SERVICES)的上下文中运行。ASPNET 或 NETWORK SERVICES 帐户是服务器计算机的本地帐户(不是域帐户),这限制了对其他计算机中的资源的访问。
  如果您只是读取和运行 ASP.NET 页中的代码,则此差别无关紧要。但是,这两种 Web 服务器的不同安全上下文会影响以下测试:


  •   访问页请求的其他资源   这可能包括读取和写入非网页文件,读取和写入 Windows 注册表等。

  •   数 据库访问   使用 ASP.NET Development Server 时,通常可以依靠 Windows 集成身份验证来访问 SQL Server。但是,当同一页以 ASPNET 或 NETWORK SERVICES 帐户在 IIS 中运行时,该页将在本地用户的上下文中运行,通常必须将该页配置为使用包括关于用户和密码信息的连接字符串。有关详细信息,请参见 Access Permissions for Web Applications (Visual Studio)。

  •   代码访问安全   如果您的页涉及访问不同区域中受保护的资源,则该页在 ASP.NET Development Server 和 IIS 中运行时可能有所不同。

  即使可使用 ASP.NET Development Server 测试出页正常运行,但在将其发布到运行 IIS 的成品 Web 服务器后,应再次进行测试。

ASP.NET Development Server 上的文件授权


  在文件系统网站中,静态文件(例如图像和样式表)遵守 ASP.NET 授权。例如,如果禁用了对静态文件的匿名访问,匿名用户则不能使用文件系统网站中的静态文件。但在 HTTP 位置中创建网站项目时,IIS 提供不使用授权规则的静态文件。
具体参见vs的msdn:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_vwdcon/html/31d4f588-df59-4b7e-b9ea-e1f2dd204328.htm
  

  源地址:http://www.iyunv.com/wolfdzq/articles/470647.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98703-1-1.html 上篇帖子: 在IIS中使用Gzip压缩后传送数据 下篇帖子: IIS 浏览aspx页面出现 无法显示 XML 页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表