模組化的 IIS 7 與 .NET 能力整合

资讯 2024-07-14 阅读:87 评论:0
發行項 10/07/2008 作者: 賴榮樞 http://www.go...
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

作者: 賴榮樞
http://www.goodman-lai.idv.tw

Author:

IIS(Internet Information Services)不僅是 Windows Server 的重要功能,Windows 用戶端作業系統也有這項功能,而 Windows Vista 以及專案代號為 "Longhorn" 的 Windows Server,也都會內建最新版本的 IIS,也就是 IIS 7。微軟日前釋出的 Windows Vista RC 1,就內建了 IIS 7;雖然 Windows Vista 的目的並非作為商用的 Web 執行平台,但若您有機會取得 Windows Vista RC1,除了測試 Windows Vista 的最新功能之外,不妨也利用機會預先體驗最新版本的 IIS。

The IIS (Internet Information Service) is not only an important function of Windows Server, which is also available in Windows client systems, but Windows Vista and Windows Server, the project code-named "Longhorn" will also have the latest version of IIS, i.e. IIS 7. Windows Vista RC 1, released prior to Microsoft, has built IIS 7; although Windows Vista is not intended as a commercial web implementation platform, it may be useful to use the opportunity to pre-read the latest version of IIS, in addition to testing Windows Vista's latest functionality.

這篇文章除了將以最近釋出的 Windows Vista RC1 呈現 IIS 7 的模組化功能,也將簡述 IIS 各個版本;這篇文章的議題包含了:

In addition to the modular function of presenting IIS 7 with the recently released Windows Vista RC1, the article will also describe IIS versions; the issues of the article include:

本頁內容

IIS 簡史
Windows Vista 版本與 IIS 7 功能
模組化的 IIS 7
充分整合 .NET 能力的 IIS 7
結語

IIS short history version of Windows Vista fully integrated with IIS 7 br modulated IIS 7 br. NET capabilities IIS 7 br.

IIS 1.0 和 IIS 2.0 是隨著 Windows NT 3.51 Service Pack 3 和 Windows NT 4.0 釋出,這時候網站應用程式的開發方式是 CGI(Common Gateway Interface)和 ISAPI(Internet Server Application Programming Interface);大幅簡化網站應用程式開發的 ASP(Active Server Pages)1.0 是由 IIS 3.0 開始提供(1996 年 12 月),而 IIS 3.0 則是內建在 Windows NT 4.0 Service Pack 3。

IIS 1.0 and IIS 2.0 were released with Windows NT 3.51 Service Pack 3 and Windows NT 4.0, when web applications were developed by CGI (Common Gateway Interface) and ISAPI (Internet Server Application Programme Interface); ASP (Access Server Pages) 1.0 was developed by IIS 3.0 (December 1996), while IIS 3.0 was built in Windows NT 4.0 Service Pack 3.

兩年左右的時間,IIS 已經藉由 Windows NT 4.0 Option Pack 推出了 4.0(1997 年九月),而 IIS 4.0 提供的是 ASP 2.0 的技術(並且也不再提供 Gopher 協定的功能)。IIS 5.0 與上個版本的間隔時間較長,是隨著 Windows 2000 推出(2000 年 11 月),而 Windows XP Professional 則內建了僅限十個同時連線,並且只允許建置一個網站的 IIS 5.1(2001 年十月);IIS 5.0 和 5.1 都提供了 ASP 3.0。

In about two years, IIS has been introduced by Windows NT 4.0 Implementation Pack with 4.0 (September 1997), while IIS 4.0 provides ASP 2.0 technology (and no longer provides Gopher agreed functionality). IIS 5.0 has a longer time interval with the previous version, with Windows 2000 (November 2000), while Windows XP Processial has established only 10 simultaneous connections, and IIS 5.1 (October 2001), which allows only one web site; IIS 5.0 and 5.1 provide ASP 3.0.

2003 年四月推出的 Windows Server 2003(以及 2005 年四月推出的 Windows XP Professional x64 Edition)內建了 IIS 6.0,雖然還是可以執行「傳統」的 ASP 3.0 程式,但 ASP.NET 1.0 才是最大的特點。ASP.NET 是微軟 .NET 平台的重要功能之一,.NET 1.0 是 2002 年一月推出,而微軟也在 2005 年 11 月推出 .NET 2.0,其中也包含了 ASP.NET 2.0 技術。

While IIS 6.0 was built in Windows Server 2003 (and Windows XP Professional x64 Edition, launched in April 2005), ASP.NET 1.0 is one of the most important features of the Microsoft.NET platform..NET 1.0 was launched in January 2002 and Microsoft 2.0 was launched in November 2005, which also includes ASP.NET 2.0 technology.

除了 Windows XP Professional,上述提供 IIS 的作業系統都僅限於伺服端的 Windows,如果是 Windows 95/98/98SE 等用戶端作業系統想要擁有 Web 網站功能,微軟提供的解決方案是PWS(Personal Web Server);PWS 可視為功能簡化、適用於開發測試的 Windows 免費 Web 伺服軟體,但後來也不再繼續發展。而 Windows XP Home 則是都不支援 IIS 或 PWS 的 Windows 作業系統。

With the exception of Windows XP Processional, the above-mentioned IIS production system is limited to the server Windows, and if Windows 95/98/98 SE and other client systems want web site functionality, Microsoft offers solutions that are PWS (Personal Web Server); PWS can be seen as functionally simplified and suitable for start-up tests for Windows Web servers, but it does not continue to develop later. Windows XP Home does not support IIS or PWS Windows systems.

早期可以免費下載、安裝的 PWS,以及 Windows XP Professional 內建的 IIS 5.1,是微軟原本提供作為個人開發測試或學習的 Windows Web 伺服軟體,後來微軟也另外為 ASP.NET 1.x 提供了適用於個人開發測試或學習並且能免費下載、安裝的簡易 Web 伺服軟體,也就是 ASP.NET Cassini Web Server,而此軟體後續的 ASP.NET 2.0 版本也內建於 Visual Studio 2005。

Early downloads, installation of PWS, and Windows XP Processional IIS 5.1 are intended to provide Windows Web server software as a personal development test or learning program, followed by software that provides ASP.NET 1.x with easy web server software that can be used for personal testing or learning and that can be downloaded and installed free of charge, namely ASP.NET Cassini Web Server, and subsequent ASP.NET 2.0 version of ASP.NET is also built in Visual Studio 2005.

不過合計有六個版本 Windows Vista,也並非每個版本都提供了 Web 伺服器功能,甚至不同的 Windows Vista 版本,所提供 IIS 7 功能也有差別。首先,基礎且入門的 Windows Vista Starter 和 Home Editions 版本並不提供 IIS 7 功能。再者,Windows Vista Home Premium Edition 雖然內建 IIS 7,但僅包括 Web 網站的執行功能,不包含 FTP 伺服端、Web 驗證及授權、遠端管理等功能。Windows Vista 眾版本當中,IIS 7 功能最完整的是 Business、Enterprise、Ultimate Editions 等版本,但若相較於 Windows Server Longhorn 的 IIS 7,依然缺少遠端管理的功能。

However, six versions of Windows Vista, and not every version of IIS 7 are available, and even different versions of Windows Vista provide IIS 7. First, the basic and accessible Windows Vista Starter and Home Generations versions do not provide IIS 7 functions. In addition, Windows Vista Home Premium Edition, although built in IIS 7, includes only the running of Web sites and does not include FTP servers, Web testing and licensing, remote management, etc.

重新模組化設計的 IIS 7 可以依照功能安裝、執行伺服端裡的模組,重新架構之後的模組化設計,讓 IIS 7 更能彈性的執行與擴充。具體而言,首見的優點就是降低伺服器資源的耗用(例如記憶體和處理器),並且提升 Web 伺服端的效能。其次的優點,是能避免不必要的攻擊,而且也能自訂特定目的或功能的專屬伺服端。

Remodification design IIS 7 can install and execute modules in the server, reconfigure post-modification modules to make IIS 7 more robust in running and expanding. Specifically, the first advantage is to reduce the use of server resources (e.g. memory and processors) and improve the performance of the web server. The second advantage is to avoid unnecessary attacks and also to customize a dedicated server for specific purposes or functions.

Windows Vista RC1 預設並不會安裝 IIS 7,而若透過控制台的功能安裝 IIS 7,就會發現 IIS 7 的安裝選項變得非常細微,這些安裝選項先分成 FTP 服務、Web 管理工具、Web 服務等三大類,其中的 Web 服務又分成 Application Development Features、Common Help Features、Health and Diagnostics、Performance Features、Security 等五類,這五類又再分成 28 項。例如您可以利用 Application Development Features 決定 IIS 7 所能執行的 Web 程式類型(如圖一,共七種;圖二列出了 IIS 7 完整的元件);而這些類型又互有相依性,例如若選取 ASP.NET,安裝程式會自動再選取 .NET Extensibility、ISAPI Extensions、ISAPI Filters 等三種類型。

Windows Vista RC1 did not foresee the installation of IIS 7, and if IIS 7 were installed through the functions of the Console, IIS 7 would have found that IIS 7 installation options had become very subtle. These are divided into FTP services, Web management tools, Web services, etc., which are divided into three categories. For example, web services can be divided into an application Development Features, Commón Help Features, Health and Diagnostics, Performance Features, Security Services, etc., which are divided into three types of Web formulas that can be implemented by IIS 7 (as in figure I; as in figure II, seven complete pieces of IIS); and these types are divided into 28 categories. For example, you can use Application Development Features to decide on three types of IIS (as in the case of ISIS, as in the case of ISIS).

圖一:Application Development Features 包含了七種 IIS 7 所能執行的 Web 程式類型

Chart I: Application Development Features contains seven types of IIS7 program

圖一:Application Development Features 包含了七種 IIS 7 所能執行的 Web 程式類型

Figure I: Application Development Features contains seven types of web programs that IIS 7 can execute

IIS 7 的模組可以是 Win32 DLL 原生模組,也可以是 .NET 2.0 組件管理模組(managed module),將這些模組加入伺服端,就如同以堆積木的方式擴充伺服端或網站應用程式(Web application)的功能,而 IIS 7 所有的模組也都能移除或更換;有兩種 API 可以讓開發人員編寫 IIS 7 模組:C++ API 和 ASP.NET 2.0 API,以前者編寫的 IIS 7 模組類似 ISAPI filter 或 ISAPI extension。

IIS 7 modules can be either Win32 DLL original modules or.NET 2.0 component management modules (managed mode) that can be added to the server as if IIS 7 modules could be expanded by stacking logs or web application functions, while IIS7 all modules can be removed or changed; there are two API modules that can be written by developers: C++ API and ASP.NET 2.0 API, or IIS7 modules like ISAPI filter or ISAPI extension.

圖二:IIS 7 完整的元件(圖片來源:www.iis.net)

 Figure II: IIS7 full widget (source: www.iis.net)

圖二:IIS 7 完整的元件(圖片來源:www.iis.net)

Figure II: IIS 7 Full shape (picture source: www.iis.net)

IIS 7 提供了兩種管理模組的方式,一是利用 MMC 圖形模式的管理工具(如圖三),另一種方式是命令列工具 APPCMD.EXE(位於 %WinDir%\System32\InetSrv 目錄,而且 Windows Vista RC1 命令列環境的 Path 變數內預設並沒有上述目錄)。

IIS 7 provides two types of management modules, one a management tool using MMC graphics (e.g. figure III) and the other an command line tool APPMMD.EXE (in the %Windir %\System32\InetSrv directory, where Windows Vista RC1 commands the Path variable in the environment without the above).

圖三:IIS 7 的 MMC 圖形模式管理工具

mMC image management tool

圖三:IIS 7 的 MMC 圖形模式管理工具

MMC image management tool for IIS 7

IIS 7 不只能像 IIS 6 執行 ASP.NET 2.0 網站應用程式,而且也比之前的 IIS 版本更充分整合了 .NET 的能力;例如之前所述,IIS 7 能執行 ASP.NET 2.0 API 所開發的模組,即為例證之一。而 IIS 7 之所以能與 .NET 充分整合,是因為架構的改變。

IIS 7 not only implements the ASP.NET 2.0 web application as IIS 6 does, but also integrates the capabilities of.NET more fully than the previous IIS version; for example, IIS 7 can run the module developed by ASP.NET 2.0 API as one of the examples. IIS 7 is fully integrated with.NET because of structural changes.

在之前的 IIS,ASP.NET 是以 IIS ISAPI extension 的方式實作而外加到 IIS,其實包括 ASP 以及 PHP,也都以相同的方式實作(PHP 在 IIS 採用了兩種實作方式,除了 IIS ISAPI extension 的方式,也包括了 CGI 的方式,系統管理者能選擇 PHP 程式的執行方式),因此用戶端對 IIS 的 HTTP 要求會先經由 IIS 處理,然後 IIS 根據要求的內容類型,如果是 HTML 靜態網頁就由 IIS 自行處理,如果不是,就根據要求的內容類型,分派給各自的 IIS ISAPI extension;如果要求的內容類型是 ASP.NET,就分派給負責處理 ASP.NET 的 IIS ISAPI extension,也就是 aspnet_isapi.dll。圖四是這個架構的示意圖。

The previous IIS, ASP.NET, was implemented by IIS ISAPI application, plus IIS, which includes ASP and PHP, and in the same way (PHP adopted two practical ways in IIS, with the exception of IIS ISAPI application, and also CGI, whereby system administrators can choose how to execute the PHP program, so that the client HTTP requirements for IIS will be dealt with by IIS, which will then be assigned to the ISP.NET, which will deal with ASP.NET, based on the content of the request, if the HTML static web page is handled by IIS itself, and if not the content, to the respective IIS ISAPI application; if the requested type of content is ASP.NET, it will be assigned to ISIS ESISPAPI extension, or SPnetneta.d.

圖四:IIS 6 的執行架構(圖片來源:www.iis.net)

fig. IV: IIS 6 executory structure (source: www.iis.net)

圖四:IIS 6 的執行架構(圖片來源:www.iis.net)

Figure IV: Executing structures for IIS 6 (picture source: www.iis.net)

而 IIS 7 完全整合 .NET 之後,架構的處理順序有了很大的不同(如圖五),最主要的原因就是 ASP.NET 從 IIS 外掛程式(ISAPI extension)的角色,進入了 IIS 核心,而且也能以 ASP.NET 模組負責處理 IIS 7 的諸多類型要求。這些 ASP.NET 模組不只能處理 ASP.NET 網頁程式,也能處理其他如 ASP 程式、PHP 程式或靜態 HTML 網頁,也因為 ASP.NET 的諸多功能已經成為 IIS 7 的一部份,因此 ASP 程式、PHP 程式或靜態 HTML 網頁等類型的要求,也能使用像是表單認證(Forms Authentication)或輸出快取(Output Cache)等 ASP.NET 2.0 的功能(但須修改 IIS 7 的設定值)。也因為 IIS 7 允許自行以 ASP.NET API 開發並加入模組,因此 ASP.NET 網頁開發人員將更容易擴充 IIS 7 和網站應用程式的功能,甚至能自行以 .NET 編寫管理 IIS 7 的程式(例如以程式控制 IIS 7 以建置網站或虛擬目錄)。

After ISP.NET has been fully integrated, the sequence of the architecture has varied considerably (e.g. figure V). The main reason is that ASP.NET has entered the IIS core from the role of the IIS plugin (ISPI extension), and has been able to handle IIS cores with the ASSP.NET module, as well as multiple types of IIS 7. These ASP.NET modules may not only handle ASP.NET web programs, but can also handle other programs such as ASP programs, PHP programs or static HTML web pages, as well as other (Output Cache) features such as ISP.NET, which have become part of IIS 7, so ASP programs, PHP programs or static HTML web pages such as the Internet web pages, which can be used as tabs (Forms Technology), or fast-releases (OutCache), which can also be used as an ISIS version of AIS 7, which can be used as an ISIS version or IET version.

圖五:IIS 7 的執行架構(圖片來源:www.iis.net)

fig. V: IIS7 executory structure (source: www.iis.net)

圖五:IIS 7 的執行架構(圖片來源:www.iis.net)

Figure V: Implementation architecture for IIS 7 (picture source: www.iis.net)

雖然 IIS 7 提供了新的 .NET 整合模式,但還是保留了傳統的 ASP.NET 執行模式,因為某些 ASP.NET 網站應用程式在新的 .NET 整合模式執行,可能會有相容性的問題,如果真的發生,除了找出、修改造成相容性的問題,也可以讓 ASP.NET 網站應用程式繼續以傳統的 ASP.NET 模式執行。而不論新的 .NET 整合模式,或者傳統的 ASP.NET 執行模式,都是 IIS 7 應用程式集區的 Managed pipeline mode 設定值,因此,若要讓 ASP.NET 網站應用程式以傳統的 ASP.NET 模式執行,就是將 ASP.NET 網站應用程式放到屬性為傳統 ASP.NET 模式的應用程式集區。

Although IIS 7 provides a new.NET integration model, it retains the traditional ASP.NET execution mode, since some ASP.NET website applications run in a new.NET integration mode and may have compatibility problems. If it does occur, besides identifying and modifying the problems that cause compatibility, the ASP.NET website application can continue to operate in a traditional ASP.NET mode. Regardless of the new ASP.NET integration mode, or the traditional ASP.NET implementation mode, which is the Managed Pipeline model set in the IIS 7 application area, the ASP.NET website should be allowed to operate in a traditional ASP.NET model, i.e., to move the ASP.NET website application to a traditional ASP.NET model.

Windows Vista RC1 的 IIS 7 預設建了兩個應用程式集區,分別是 Class .NET AppPool 和 DefaultAppPool,前者是傳統 ASP.NET 模式,後者是新的 .NET 整合模式。如果要讓 ASP.NET 網站應用程式繼續以傳統的 ASP.NET 模式執行,就是將 ASP.NET 網站應用程式指定給傳統的 ASP.NET 模式的應用程式集區,例如 Class .NET AppPool(如圖六),或者是您自建的傳統 ASP.NET 模式應用程式集區。

The IIS 7 of Windows Vista RC1 foresees the creation of two application clusters, namely, Glass.NET AppPool, which is a traditional ASP.NET model, followed by a new.NET integration model. If the ASP.NET website application is to continue in the traditional ASP.NET mode, then the application area that assigns the ASP.NET website application to the traditional ASP.NET mode, such as the one that has been created by Class. Net AppPool (e. g. figure VI), or the program area in which the traditional ASP.NET model should be used.

圖六:指定網站應用程式的應用程式集區

圖六:指定網站應用程式的應用程式集區

Figure VI: Specifies the application area for website applications

雖然 IIS 已經是 Windows 平台最成功的 Web 伺服軟體,不過對現今的網際網路應用而言,Web伺服軟體必須朝向網站應用程式的執行平台發展,並且必須提供穩定、安全、易於管理的執行環境。微軟在推出 IIS 6.0 的時候,為 IIS 6.0 加入了應用程式集區的技術,讓網站應用程式更穩定、更有效率。而微軟除了重新調整 IIS 7 的架構,讓 IIS 7 充分的模組化,又將 .NET 技術整合到新的 IIS 7,讓 ASP.NET 不只能開發網站應用程式,也能開發 IIS 7 模組,等於是多開闢了一種擴充 IIS 7 的方法。

Although IIS is already the most successful web server for Windows platforms, for today's Internet applications, Web server software must move towards an executive platform for web applications, and must provide a stable, secure, and manageable environment. In introducing IIS 6.0, Microsoft has joined IIS 6.0 with technology in the application area to make web applications more stable and efficient. In addition to re-engineering IIS 7, microsofting has allowed IIS 7 to be fully modularized, integrating.NET techniques into the new IIS 7, allowing ASP.NET not only to develop web applications, but also to develop IIS 7 modules, etc.

參考資料:

References:

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
热门文章
  • 支付領域投下震撼彈!美國數位銀行Chime疑與GuardPay 神盾支付合作!

    支付領域投下震撼彈!美國數位銀行Chime疑與GuardPay 神盾支付合作!
    2020年,新冠肺炎(COVID-19)疫情加速數位貨幣進展。例如:2019年4月,國際清算銀行(BIS)的調查顯示,在全球66家中央銀行中,沒有一家計畫發行跨境支付的數位貨幣。惟到了2020年10月,BIS支付委員會主席康利夫(Jon Cunliffe)指出,肺炎疫情拉高民眾對無現金支付的需求,迫使各國加快數位貨幣的研發進程日本與韓國於2021年進入數位貨幣試驗階段。直到2019年12月,美國聯邦準備理事會(Fed)都尚無數位貨幣規劃,惟到了2020年2月,Fed已開始研擬...
  • 区块链:交易系统开发指南

    区块链:交易系统开发指南
    播报编辑《区块链:交易系统开发指南》使用通俗易懂的语言,从技术的角度详细介绍了区块链交易系统应有的功能架构及工作原理,让人们能够张开双臂轻松地拥抱区块链技术,享受区块链交易系统带来的惊喜与成就感。《区块链:交易系统开发指南》共分 7 章,第 1~2 章主要介绍区块链及数字货币的基本概念,以及各种公有链的 API 接口;第3~5 章主要介绍区块链交易系统的分类架构及功能; 6 章主要介绍区块链交易系统面临的问题及演进方向;第 7 章对全书做了总结。《区块链:交易系统开发指南》是...
  • 5.14加密货币价格:BTC突破6.2万美元以太坊和山寨币反映市场情绪

    5.14加密货币价格:BTC突破6.2万美元以太坊和山寨币反映市场情绪
    今天,随着比特币(BTC)的价格突破62 000美元的门槛,顶级加密货币的价格反弹了。 此外,以铁大幅上涨,维持在2 900美元的水平。 此外,其他顶尖山硬币,如索拉纳(SOL )、XRP、卡达诺(ADA )也大幅上涨。    今天密钥加密货币价格 1. 比特币价格    在5月14日星期二撰写本文时,比特币价格上升了2.57%,达到62 487.50美元。 另一方面,在过去24小时内,交易量从65.26 % 急剧上升至277亿美元。 与此同时,加密货币的市场价值为...
  • OKEx回应用户质疑:合约交易非期货 平台无机器人

    OKEx回应用户质疑:合约交易非期货 平台无机器人
       热点点 自选股份 数据中心 数据中心 研究和资料中心 资金流动 模拟交易 客户客户 具体来说,OKEx回答用户的问题:合同交易不是期货,平台不是机器人。 金融同步化,3月22日。    昨天下午,OKEx公司就维护先前用户线下的权利问题对同步财务公司作出了回应,指出OKEx公司提供的合同交易不是期货交易,在旗下的业务中没有正式的机器人。 同时,OKEX称,它不会以非法为由对任何投资损失索赔作出答复。 答复全文如下: 同步你的财务! 近日来,...
  • 0.00006694个比特币等于多少人民币/美金

    0.00006694个比特币等于多少人民币/美金
    0.00006694比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00006694比特币等于4.53424784美元/32.5436 16人民币。比特币(BTC)美元(USDT)人民币(CNY)0.000066944.53424784【比特币密码】32.82795436 16比特币对人民币的最新汇率为:490408.64 CNY(1比特币=490408.64人民币)(1美元=7.24人民币)(0.00006694USDT=0.0004846456 CNY)汇率更新时...
标签列表