IIS 6.0 新功能及與 .NET 的整合

39
IIS 6.0 IIS 6.0 新新新新新 新新新新新 .NET .NET 新新新 新新新 新新新 新新新 新新新新 新新新新

description

IIS 6.0 新功能及與 .NET 的整合. 鄭淑芬 恆逸資訊. What’s new in IIS 6.0. 新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援. DLLHost.EXE. DLLHost.EXE. DLLHost.EXE. ISAPI Extensions. ISAPI Extensions. ISAPI Extensions. IIS 5.0 架構. INETINFO.EXE. ISAPI Filters and Extensions. Metabase. WinSock 2.0. User Mode. - PowerPoint PPT Presentation

Transcript of IIS 6.0 新功能及與 .NET 的整合

Page 1: IIS 6.0 新功能及與 .NET 的整合

IIS 6.0IIS 6.0 新功能及與新功能及與 .NET.NET 的整合的整合

鄭淑芬鄭淑芬恆逸資訊恆逸資訊

Page 2: IIS 6.0 新功能及與 .NET 的整合

What’s new in IIS 6.0What’s new in IIS 6.0 新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援

Page 3: IIS 6.0 新功能及與 .NET 的整合

INETINFO.EXE

Metabase

ISAPI Filters and Extensions

IIS 5.0 IIS 5.0 架構架構

TCP/IP

User Mode WinSock 2.0

Kernel Mode

DLLHost.EXE

ISAPI Extensions

DLLHost.EXE

ISAPI Extensions

DLLHost.EXE

ISAPI Extensions

Page 4: IIS 6.0 新功能及與 .NET 的整合

提昇效能及穩定性提昇效能及穩定性IISIIS的新架構的新架構 HTTP.SYS

kernel-mode HTTP Listener Web Admin Service (WAS)

user-mode 管理設定 / 應用程式 Application Pools 及 Worker Processes 的概念與

架構

Page 5: IIS 6.0 新功能及與 .NET 的整合

全新的全新的 IISIIS 架構架構

UserUser

KernelKernel

InetinfoInetinfo

FTP, SMTP,FTP, SMTP,及 及 NNTPNNTP

MetabaseMetabaseW3 CoreW3 Core

WASWASW3 CoreW3 CoreWorker Worker ProcessProcess

Web Web 應應用程式用程式

HTTP.SYSHTTP.SYS

Web ServerWeb Server

Page 6: IIS 6.0 新功能及與 .NET 的整合

優點優點 更可靠

區隔 Third-party 程式 每個 Web 應用程式可由一個或多個 Worker Processes 分擔處

理 Worker Process Recycling Worker Process Monitoring

更好的效能 Request 直接從

Kernel Mode 繞送到 Worker Process Web

Admin Service

HTTP.SYS Listener

Worker Process

Worker Process

Worker Process

Worker Process

Page 7: IIS 6.0 新功能及與 .NET 的整合

HTTP.SYSHTTP.SYS 它是…

Universal HTTP processor 永遠保持在執行狀態

更可靠 依名稱空間進行繞送 (routing) 要求佇列 (Request queue) 開發人員的禁地

更好的效能 Kernel-mode response cache URI-cache

Page 8: IIS 6.0 新功能及與 .NET 的整合

HTTP.SYSHTTP.SYS

TCP/IP

HTTP.SYS

Send Response

Response Cache

HTTP.SYS API

Listener

Namespace Mapper

HTTP Engine

HTTP Parser

Req

. Que

ue

Req

. Que

ue

Req

. Que

ue

REQUEST

Page 9: IIS 6.0 新功能及與 .NET 的整合

Web Admin Service (I)Web Admin Service (I) 管理應用程式

啟動 worker processes 管理 Application Pools

管理設定 向 HTTP.SYS 註冊網站及應用程式

Page 10: IIS 6.0 新功能及與 .NET 的整合

Web Admin Service (II)Web Admin Service (II) 定期進行資源回收

依時間、處理過的 Request 數、時間間隔、佔用的記憶體大小、強制回收

監視程式執行狀態 Pinging Crash Detection Rapid Fail Protection

Better debugging support Orphan worker process

如何設定…

Page 11: IIS 6.0 新功能及與 .NET 的整合

WASWAS

WAS – WAS – WebWeb Administrator Service Administrator Service

Co

nfi

g M

gr

Co

nfi

g M

gr

Ap

p P

oo

l M

gr

Ap

p P

oo

l M

gr

MetaBase.xmlMetaBase.xml

W3 CoreW3 CoreW3 CoreW3 CoreWorker Worker ProcessProcess

Web Web 應應用程式用程式

HTTP.SYSHTTP.SYS

kern

elke

rnel

use

ru

ser

Page 12: IIS 6.0 新功能及與 .NET 的整合

Application PoolsApplication Pools 何謂 Application Pool?

一組共享 Worker Processes 的 Web 應用程式 Process Boundary

新增 App pool 即定義新的 process boundary HTTP.SYS 依名稱空間將使用者要求引導至所對應

的行程 On-demand start

Web Gardens 在一個 App pool 中有多個 worker process

Page 13: IIS 6.0 新功能及與 .NET 的整合

Worker Process Isolation Worker Process Isolation ModeMode 架構架構

kernel

user

WA

SW

AS

HTTP.SYSHTTP.SYS

ISAPI Exts &ISAPI Exts &FiltersFilters

W3 CoreW3 Core

Worker Worker ProcessProcess

ISAPI Exts &ISAPI Exts &FiltersFilters

W3 CoreW3 Core

Web Web GardenGarden

ISAPI Exts &ISAPI Exts &FiltersFilters

Web Proc. Web Proc. Core DLLCore DLL

Web Web GardenGarden

ISAPI Exts &ISAPI Exts &FiltersFilters

Web Proc. Web Proc. Core DLLCore DLL

Web Web GardenGarden

ISAPI Exts &ISAPI Exts &FiltersFilters

W3 CoreW3 Core

Worker Worker ProcessProcess

App Pool (1) App Pool (2) App Pool (3)

Page 14: IIS 6.0 新功能及與 .NET 的整合

Application PoolApplication Pool

Page 15: IIS 6.0 新功能及與 .NET 的整合

Worker ProcessesWorker Processes 推動 Application Pool 運作的原動力 具體而微的 Web Server

涵蓋所有 W3SVC 功能 載入 ISAPI – filters 及 extensions

區隔 W3SVC 與 INETINFO.EXE

Page 16: IIS 6.0 新功能及與 .NET 的整合

深入深入 Worker ProcessWorker Process

處理 Request 回傳靜態網頁 啟動 ISAPI extension 或 ISAPI filter 執行 CGI

Worker processWorker process

ISAPI FiltersISAPI Filters

ISAPI ExtensionsISAPI Extensions

SingleSingleAppApp

W3WP.EXEW3WP.EXE

Page 17: IIS 6.0 新功能及與 .NET 的整合

WebWeb Garden Garden 一個 Application pool 指定多個 Worker processes

某個 worker processes 負載過重、 lock ,其它的 worker processes 可繼續處理其它的Requests

多 CPU 電腦 不同於 Web Farm

ISAPI FiltersISAPI Filters

ISAPI ExtensionsISAPI Extensions

MultipleMultipleAppsApps

MultipleMultipleAppsApps

MultipleMultipleAppsApps

W3WP.EXEW3WP.EXE

ISAPI FiltersISAPI Filters

ISAPI ExtensionsISAPI Extensions

MultipleMultipleAppsApps

MultipleMultipleAppsApps

MultipleMultipleAppsApps

Worker ProcessWorker Process

ISAPI FiltersISAPI Filters

ISAPI ExtensionsISAPI Extensions

MultipleMultipleAppsApps

MultipleMultipleAppsApps

MultipleMultipleAppsApps

Page 18: IIS 6.0 新功能及與 .NET 的整合

Worker Process Worker Process --Health monitoringHealth monitoring 監視 Worker processes

定期 ping worker processes WAS 與每個 worker process 維護一個 communication

channel

WA

SW

AS

Worker Worker ProcessProcess

ISAPI Exts &ISAPI Exts &FiltersFilters

W3 CoreW3 Core

Worker Worker ProcessProcess

ISAPI Exts &ISAPI Exts &FiltersFilters

W3 CoreW3 Core

Web Web GardenGarden

ISAPI Exts &ISAPI Exts &FiltersFilters

Web Proc. Web Proc. Core DLLCore DLL

Web Web GardenGarden

ISAPI Exts &ISAPI Exts &FiltersFilters

Web Proc. Web Proc. Core DLLCore DLL

WebWeb GGardenarden

ISAPI Exts &ISAPI Exts &FiltersFilters

W3 CoreW3 Core

Page 19: IIS 6.0 新功能及與 .NET 的整合

How they work together?How they work together?

HTTP.SYSHTTP.SYS 、、 WASWAS 、、 ApplicatioApplication Pooln Pool 、、 Worker Processes…Worker Processes…

Page 20: IIS 6.0 新功能及與 .NET 的整合

MetaBase.xmlMetaBase.xmlWASWAS

Co

nfi

g M

gr

Co

nfi

g M

gr

Ap

p P

oo

l M

gr

Ap

p P

oo

l M

gr

UserUser

KernelKernel

HTTP.SYSHTTP.SYS

Web ServerWeb ServerWorkerWorkerProcessProcessWorkerWorker

ProcessProcess

WorkerWorkerProcessProcess

處理處理 RequestRequestOn demand startOn demand start

Page 21: IIS 6.0 新功能及與 .NET 的整合

WorkerWorkerProcessProcess

WASWAS

Co

nfi

g M

gr

Co

nfi

g M

gr

Ap

p P

oo

l M

gr

Ap

p P

oo

l M

gr

UserUser

KernelKernel

HTTP.SYSHTTP.SYS

Web ServerWeb Server

WorkerWorkerProcessProcessWorkerWorker

ProcessProcess

管理管理

WorkerWorkerProcessProcess

ZZzzzzz…

WorkerWorkerProcessProcessWorkerWorker

ProcessProcess

Web Service Always Running!!!Web Service Always Running!!!

Web Web 永遠在執行狀態永遠在執行狀態 !!!!!!

Page 22: IIS 6.0 新功能及與 .NET 的整合

What’s new in IIS 6.0What’s new in IIS 6.0

新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援

Page 23: IIS 6.0 新功能及與 .NET 的整合

簡化管理簡化管理 XML-based 設定資訊 WMI Provider 更多的 Command-line 命令

Page 24: IIS 6.0 新功能及與 .NET 的整合

MetabaseMetabase 以階層式儲存 IIS 設定資訊

IIS 5.0 之前版本 : binary file MetaBase.bin

IIS 6.0 : 純文字的 XML 檔案 MetaBase.xml MBSchema.xml

XML 格式的好處 可直接以文字編輯器編輯 簡化錯誤復原手續 簡化設定、管理

與現有 ADSI 相容

Page 25: IIS 6.0 新功能及與 .NET 的整合

MetabaseMetabase

IIS 5.0IIS 5.0 架構架構

Admin Base Object (ABO)Admin Base Object (ABO)

Admin UIAdmin UI ADSIADSI

MetaBase.binMetaBase.bin

Page 26: IIS 6.0 新功能及與 .NET 的整合

MetabaseMetabase

IIS 6.0IIS 6.0 架構架構

Admin Base Object (ABO)Admin Base Object (ABO)

Admin UIAdmin UI ADSIADSI WMIWMI

MetaBase.xmlMetaBase.xml MBSchema.xmlMBSchema.xml

Page 27: IIS 6.0 新功能及與 .NET 的整合

XML-Based XML-Based 設定資訊設定資訊 Backup/Restore

ABO(Admin Base Objects) API 可從任一節點進行 Import/Export 密碼加密

Metabase History 執行時仍可編輯

Page 28: IIS 6.0 新功能及與 .NET 的整合

Edit-while-runningEdit-while-running

Page 29: IIS 6.0 新功能及與 .NET 的整合

WMI ProviderWMI Provider

目標 提供與 ADSI 相同等級的管理能力 支援擴充的 Schema

功能 類似 ADSI

Scriptable Objects 及其 methods

查詢 – 類似 SQL 的查詢方式 群組同類型的物件

Page 30: IIS 6.0 新功能及與 .NET 的整合

命令列管理工具命令列管理工具 新增、刪除、啟動、停止 Web 或 FTP site

iisweb.vbs iisftp.vbs

新增、刪除、 查詢虛擬目錄 iisvdir.vbs iisftdr.vbs

設定 IIS iiscnfg.vbs: 匯出 / 匯入 XML 設定檔 iisback.vbs: 備份 / 復原設定

Page 31: IIS 6.0 新功能及與 .NET 的整合

IIS IIS 命令列管理工具命令列管理工具

Page 32: IIS 6.0 新功能及與 .NET 的整合

What’s new in IIS 6.0What’s new in IIS 6.0

新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援

Page 33: IIS 6.0 新功能及與 .NET 的整合

IIS6 – ProgrammabilityIIS6 – ProgrammabilityASP ImprovementsASP Improvements

Unicode Path support 支援 UTF-8 COM+ Services for ASP

ASP ThreadsCOM+ Queue

ASP Template Cache預設 250 templates 快取在記憶體中亦可快取在硬碟中ASP template 不需重新編譯

Page 34: IIS 6.0 新功能及與 .NET 的整合

對對 .NET.NET 的支援的支援 ASP.NET 執行環境設定

已與 IIS 6.0 的 Worker Process 整合支援 Application PoolUTF-8 編碼How to: 在 web.config 檔中設定

.NET Cache API可直接存取、設定 HTTP.SYS 的內部快取output cache :快取執行結果fragmented cache :部分網頁內容

Page 35: IIS 6.0 新功能及與 .NET 的整合

對對 .NET.NET 的支援的支援 ASP.NET 狀態維護

ASP.NET State Server將狀態資訊儲存在 ASP.NET 程式外部

獨立行程獨立電腦SQL Server 資料庫

提高強固性、延展性 簡化 Web Service 開發

ASP.NET 簡化 IIS 6.0 的 Web Service 開發

Page 36: IIS 6.0 新功能及與 .NET 的整合

IIS 5.0IIS 5.0 與與 6.06.0 的比較的比較IIS 5.0 IIS 6.0

作業平台 Windows 2000 .NET Server

架構 TCP/IP WinSock搭配DllHost.exe

HTTP.SYS 搭配一個或多個Worker Processes

Metabase Binary XML 檔案安全 Windows

KerberosSSL

Windows KerberosSSLPassword

Page 37: IIS 6.0 新功能及與 .NET 的整合

重點總結重點總結 新的 IIS 6.0 架構提供更穩固、更快的 Web 平台

HTTP.SYSWeb Admin ServiceApplication Pool 及 Worker Process

ASP Template Cache XML-based Metabase 新增許多 Command-line 命令 對 .NET 的支援

Page 38: IIS 6.0 新功能及與 .NET 的整合

更多的資源更多的資源 http://www.microsoft.com/windows2000

Windows 2000 首頁、更新、 service packs 及 add-ons, scripting …

http://www.microsoft.com/taiwan/windows2000 Windows 2000 中文首頁

SQL Server Magazine 國際中文電子版http://www.sqlmag.com.tw

ASP.NET 進階 恆逸專屬課程

Page 39: IIS 6.0 新功能及與 .NET 的整合

http://www.microsoft.com/taiwan/windows2000http://www.microsoft.com/taiwan/windows2000

http://www.microsoft.com/taiwan/securityhttp://www.microsoft.com/taiwan/security