iis7 as a developer platform

14
IIS7 As A Developer IIS7 As A Developer Platform Platform Thomas Deml Thomas Deml Lead Program Manager Lead Program Manager Internet Information Internet Information Services Services Microsoft Corporation Microsoft Corporation NGW026 NGW026

Upload: goodfriday

Post on 12-Jan-2015

1.487 views

Category:

Technology


0 download

DESCRIPTION

Discover a new world of opportunity for Web developers. Using modules, written in native or managed code, you can implement entirely new capabilities for IIS 7 and the Web applications it delivers. In this session, see how modules can change the client experience for all Web sites simultaneously without any modification to code on the site level.

TRANSCRIPT

Page 1: IIS7 As a Developer Platform

IIS7 As A Developer IIS7 As A Developer PlatformPlatform

Thomas DemlThomas DemlLead Program ManagerLead Program ManagerInternet Information ServicesInternet Information ServicesMicrosoft CorporationMicrosoft Corporation

NGW026NGW026

Page 2: IIS7 As a Developer Platform

Distributed ConfigurationDistributed Configuration

Page 3: IIS7 As a Developer Platform

Making Developer’s Jobs Making Developer’s Jobs EasierEasier

Configure IIS with web.configConfigure IIS with web.config

Use Single GUI For IIS and ASP.NetUse Single GUI For IIS and ASP.Net

Diagnose Tough Problems with Diagnose Tough Problems with Detailed Error InformationDetailed Error Information

Customize IIS For Your ApplicationCustomize IIS For Your Application

Extend IIS Using The Language Of Extend IIS Using The Language Of Your Choice (C#, VB.NET, C++) Your Choice (C#, VB.NET, C++)

Use Existing ASP.NET Features For All Use Existing ASP.NET Features For All Types Of ContentTypes Of Content

Page 4: IIS7 As a Developer Platform

Customize IIS For Customize IIS For Your ApplicationYour Application

Page 5: IIS7 As a Developer Platform

IIS6 ArchitectureIIS6 Architecture

Monolithic server Monolithic server implementationimplementation

Limited Limited customizationcustomization

Fixed functionalityFixed functionality

ISAPI Filter / ISAPI Filter / Extension Extension extensibilityextensibility

LimitedLimited

Difficult, error Difficult, error proneprone

Authentication

Basic NTLM Anon

...

DetermineHandler

...

Response Compression

Logging

HTTPHTTP RequestRequest

HTTPHTTP ResponseResponse

CGI

Static File

ISAPI

Page 6: IIS7 As a Developer Platform

Authentication

...

ExecuteHandler

...

SendResponse

HTTP HTTP RequestRequest

HTTPHTTP ResponseResponse

Authorization

UpdateCache

ResolveCache

IIS7 ArchitectureIIS7 Architecture

BasicNTLM Anon

CGI

Static File

ISAPI

Log Compression

Componentized Componentized serverserver

Modular featuresModular features

Generic request Generic request pipeline pipeline

EnablesEnablesLightweight serversLightweight servers

Custom / specialized Custom / specialized serversservers

UrlAuthz

OutputCache

Forwarder

Basic40+

Page 7: IIS7 As a Developer Platform

basicauth.dll

IIS7 ExtensibilityIIS7 Extensibility

Native Extensibility ModelNative Extensibility ModelDLL factoryDLL factory

Class-based C++ APIClass-based C++ API

Rich object model Rich object model

Managed Extensibility Managed Extensibility ModelModel

Continue To Use Continue To Use IHttpModule And IHttpModule And IHttpHandler InterfacesIHttpHandler Interfaces

Plug In Existing ASP.NET Plug In Existing ASP.NET Handlers and ModulesHandlers and Modules

Take Advantage Of New Take Advantage Of New IIS7 CapabilitiesIIS7 Capabilities

httpserv.h:

IHttpContext{ IHttpRequest IHttpResponse IHttpUser ...};

IHttpServer{ GetConfig LogEvent Recycle ... };

Authentication

...

ExecuteHandler

...

SendResponse

HTTP HTTP RequestRequest

HTTPHTTP ResponseResponse

Authorization

UpdateCache

ResolveCache

Basic

Page 8: IIS7 As a Developer Platform

Extending IIS7Extending IIS7

Page 9: IIS7 As a Developer Platform

IIS6 ASP.NET IntegrationIIS6 ASP.NET Integration

aspnet_isapi.dll

Authentication

MapHandler

Forms Windows

...ASPX

Trace

...

...

ISAPI ExtensionISAPI ExtensionOnly processes Only processes ASP.NET requestsASP.NET requests

Runtime limitationsRuntime limitationsISAPIISAPI

orderingordering

Feature duplicationFeature duplicationAuthenticationAuthentication

Handler mappingHandler mapping

Custom ErrorsCustom Errors

Authentication

Basic NTLM Anon

...

DetermineHandler

...

SendResponse

HTTPHTTP Request

HTTP HTTP ResponseResponse

CGI

Static File

ISAPI

CompressionLog

Page 10: IIS7 As a Developer Platform

ISAPI

IIS7 ASP.NET IntegrationIIS7 ASP.NET Integration

Two modesTwo modesISAPI (compat)ISAPI (compat)

IntegratedIntegrated

Integrated modeIntegrated mode.NET modules plug .NET modules plug directly into serverdirectly into server

Process all requestsProcess all requests

Full runtime fidelityFull runtime fidelity

Anon

aspnet_isapi.dll

Authentication

MapHandler

...

...

Forms Windows

ASPX

Trace

...

Basic

Compression

Log

Static File

Authentication

...

ExecuteHandler

...

SendResponse

Authorization

UpdateCache

ResolveCache

HTTPHTTP Request

HTTPHTTP ResponseResponse

Page 11: IIS7 As a Developer Platform

More Power To ASP.NET!More Power To ASP.NET!

Page 12: IIS7 As a Developer Platform

IIS7 .NET ExtensibilityIIS7 .NET ExtensibilityFuture of ASP.NET DevelopmentFuture of ASP.NET Development

Existing ASP.NET 2.0 APIExisting ASP.NET 2.0 APIIHttpModule and IHttpHandler typesIHttpModule and IHttpHandler types

Existing API connected to server objectsExisting API connected to server objects

Bonus: API additionsBonus: API additionsResponse header enumerationResponse header enumeration

Manipulate Request headersManipulate Request headers

Manipulate Server VariablesManipulate Server Variables

ConfigurationConfigurationISAPI versus Integrated mode per app-poolISAPI versus Integrated mode per app-pool

Unified <modules>, <handlers> configurationUnified <modules>, <handlers> configuration

Page 13: IIS7 As a Developer Platform

And Now Let’s Talk…And Now Let’s Talk…

Page 14: IIS7 As a Developer Platform

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.