65.9K
CodeProject 正在变化。 阅读更多。
Home

轻量级 IIS (无需 IIS 运行 Asp.net)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.34/5 (18投票s)

2008年2月26日

CPOL

3分钟阅读

viewsIcon

107959

downloadIcon

6096

一种无需 IIS 和任何服务器组件即可运行 asp.net 的方法

引言

我在阅读一篇关于未来软件(如 Web 应用程序)的文章,然后我想如何在客户端运行 Web 应用程序,而无需互联网连接且无需安装服务器组件。

如果您查看所有 ASP.net 应用程序,它们都非常用户友好,您可以在 asp.net 应用程序中使用 Ajax 和更多组件。另一方面,一项研究表明,许多人对互联网表单和 Web 浏览器应用程序之类的应用程序感兴趣。

用户友好的规则迫使您用所有的想法和兴趣吸引用户,如果您希望您的软件可爱的话。

当我看到 Microsoft Visual Studio 2005 及其无需 IIS 运行 asp.net 的解决方案时,我正在思考上述主题。Microsoft 有一个用于此工作的 API,尽管此 API 未由 .NET 2.0 发布,但它是免费的,因为当您从 Microsoft 站点下载免费的 Web Developer Express 时;此程序的设置会安装此 API。称为“WebDev.WebHost”

(如果您有“Web Developer Express”或“Microsoft Visual Studio 2005”,您可以从 %system root%\assembly\GAC_32\WebDev.WebHost\8.0.0.0__b03f5f7f11d50a3a\WebDev.WebHost.dll 找到此 API)

WebDev.WebHost.dll 的使用

此 API 的使用很简单

  1. 您必须将此 dll 添加到您的引用项目
  2. Microsoft.VisualStudio.WebHost 添加到您的命名空间
  3. 现在创建一个服务器实例
  4. Server s =new Server(port, virtual_path, physical_path);
    • 端口:一个介于 1 到 65353 之间的数字(如果您有 IIS,则不能将其设置为 80)
    • virtual_path:此路径显示在地址中,而不是真实的。例如,如果您的虚拟路径是 "mypath" 并且您的端口是 8080,则此地址是:https://:8080/mypath/
    • physical_path:包含您的 Web 应用程序的文件夹的路径,实际上在您的系统上。
  5. 您的 IIS 已安装!!现在您只需启动您的服务器
  6. s.Start(); 
  7. 或停止您的服务器
  8. s.Stop();
  9. 如果您需要服务器的 Url,请检查此属性
  10. linkLabel1.Text = s.RootUrl;

真正用途

好吧,现在也许你会问这个问题,它有什么用?
  • 如果您有一个程序并且您需要像 MSDN 这样好的帮助,这是一个新的解决方案。
  • 如果您是 Asp.net 程序员并且需要一个客户端应用程序,这是一个解决方案
  • 如果您是 Asp.net 程序员并且需要向您的客户展示您的应用程序而无需安装在真正的主机上,这是一个解决方案。
  • 如果您是一名学生,并且需要向您的老师展示您的 Web 应用程序。
  • 如果您编写了一个客户端应用程序并且您想将其连接到您的 Web 服务,这是一种测试它的方法
  • 还有更多

真正无用

好吧,到目前为止,我们已经了解了如何使用此 API,现在我们将告诉您何时不使用它

  • 当一个大型 Web 应用程序(大型意味着重要数据,而不是页面大小)
  • 当您的事务很重要时
  • 当您编写真正的程序(您的发布是商业的)
  • 当您有多个用户时

新想法和未来

在未来几年内,您的系统上不会有任何客户端应用程序。例如,您可以在 Microsoft 站点中看到 Office Live,此解决方案解决了版权、支持、更新、用户友好性、可用性等任何问题。

但是当我看到这些年硬件的快速发展时,找不到这个问题的答案:“虽然我有一个 Core2Quad 或更好的 CPU,安装了超过 6 GB 的 RAM,超过 500 GB 的硬盘驱动器,蓝光光盘驱动器或更好以及 windows vista 或更好,但是我没有任何程序在我的系统上。我该怎么办?”。

© . All rights reserved.