SlideShare une entreprise Scribd logo
1  sur  26
Hosting Windows Services in IIS Take advantage of the IIS platform for hosting your Always-On services. Brian Ritchie Chief ArchitectPayformance Corporation Email: brian.ritchie@gmail.com Blog: http://weblog.asp.net/britchie Web: http://www.dotnetpowered.com
Who am I? Brian Ritchie Chief Architect at Payformance Corporation Nearly 20 years of development experience Developing on .NET since 1.0 Beta 1 Contributed to Mono and other open source projects
Why build Windows Services? When you need always-on functionality Examples: File Watching & Processing Scheduled tasks Long-running tasks Queued processing
Why build Windows Services? Windows Services have been around forever, why change now?
Sometimes change is good
Reasons for change Windows Services have no User Interface making them hard to monitor, manage, and debug. Windows Services are harder to deploy & can’t use Web Deploy.
Who can save us from these problems? I’m IIS & I’m here to help!
Did you say IIS? More than just a web server, IIS is an application server platform. Web Applications: ASP.NET, PHP, and more Web Services: ASMX, WCF Multiple Protocols: HTTP, HTTPS, TCP, Named Pipes And now… Always-On Services: Auto-start & Always Running
What makes IIS better?
IIS7: Your Single Hosting Framework
Monitoring via the IIS Manager Since all services will be hosted under the w3wp.exe process name, you can see the Worker Process associated with your application pool within the IIS manager:
Monitoring via Process Explorer Another approach is to use the SysInternals Process Explorer free from Microsoft.  Add the “Command Line” column to the grid, and the application pool name will be listed after the –ap switch.
Deployments…made easy Web Deploy 2.1  Deploy Package Build/Deploy Server Build Server (using MSBuild) Deployment Package IIS Server IIS MMC – Export Application IIS MMC – Import Application
Look Mom…I have a UI now! No longer “invisible”, your service can publish its own monitoring & management capability
OK…I’m sold!   How can I take this beauty home today?
Getting Started First off…Install the pre-reqs: IIS 7.5 (Windows 2008 R2 or Windows 7) Windows Server AppFabric .NET Framework 4.0 Next…Configure IIS: Set Application Pool to “Always Running” Configure Site with Net.Pipe Binding Set Application to “Auto Start”
Walk Thru: Configuring IIS
Building a service
Building a service What are some fundamental differences between a standard Web Service and a Windows Service? Request-Response vs. Event-based  State-less vs. State-full Transparent threading vs. Thread Management DLL vs. EXE All of the Above
Building a Service:Differences in Process Models Windows Service Process Model Service Controller Service (EXE) MMC
Building a Service:Differences in Process Models Windows Service Process Model IIS Worker Process Model Service Controller Service (EXE) MMC W3WP WWW Publishing Service svchost.exe -k iissvcs AppDomain Service (DLL) IIS Manager AppDomain
Building a service Where does the service perform it’s startup? Application_Startin Global.asax AppInitialize in AppStart.cs AppStartup in the session controller
Building a service What is the scope of a static variables? Class Thread AppDomain Process Machine
Visualizing the stack Machine Process AppDomain Your service runs here Thread Thread Static Scope Either you manage threads directly or use a Thread Pool or TPL
Walk Thru: Building a service
Twitter: @brian_ritchie Blog: http://weblogs.asp.net/britchie Thanks for coming!

Contenu connexe

Tendances

INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
sanya6900
 
Introduction To Iis 7
Introduction To Iis 7Introduction To Iis 7
Introduction To Iis 7
amit_monty
 

Tendances (20)

introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)
 
IIS-Settings
IIS-SettingsIIS-Settings
IIS-Settings
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS Server
 
Understanding iis part1
Understanding iis part1Understanding iis part1
Understanding iis part1
 
Understanding IIS
Understanding IISUnderstanding IIS
Understanding IIS
 
Iis it-slideshares.blogspot.com
Iis it-slideshares.blogspot.comIis it-slideshares.blogspot.com
Iis it-slideshares.blogspot.com
 
IIS for Developers
IIS for DevelopersIIS for Developers
IIS for Developers
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide showThe complete ASP.NET (IIS) Tutorial with code example in power point slide show
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
 
Introduction To Iis 7
Introduction To Iis 7Introduction To Iis 7
Introduction To Iis 7
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam Kamel
 
Chapter 26
Chapter 26Chapter 26
Chapter 26
 
Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to application
 
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud Computing
 
Understanding a web server and types of web servers ppt
Understanding a web server and types of web servers pptUnderstanding a web server and types of web servers ppt
Understanding a web server and types of web servers ppt
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
 
Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
IIS 7.0 +
IIS 7.0 +IIS 7.0 +
IIS 7.0 +
 

En vedette

Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)
laxmi16101981
 
Troubleshooting SQL Server
Troubleshooting SQL ServerTroubleshooting SQL Server
Troubleshooting SQL Server
Stephen Rose
 
Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...
Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...
Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...
webhostingguy
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
bigqiang zou
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
webhostingguy
 
Technical Writing PowerPoint
Technical Writing PowerPointTechnical Writing PowerPoint
Technical Writing PowerPoint
kgillesss
 
Introduction to technical writing
Introduction to technical writingIntroduction to technical writing
Introduction to technical writing
Adam Tablante
 
All About Technical Writing
All About  Technical  WritingAll About  Technical  Writing
All About Technical Writing
shravanpalvai
 
Qualities of good technical writing with examples
Qualities of good technical writing with examplesQualities of good technical writing with examples
Qualities of good technical writing with examples
muhammad ilyas
 

En vedette (17)

PHP em Background
PHP em BackgroundPHP em Background
PHP em Background
 
Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)
 
Troubleshooting SQL Server
Troubleshooting SQL ServerTroubleshooting SQL Server
Troubleshooting SQL Server
 
Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...
Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...
Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...
 
Ntlm
NtlmNtlm
Ntlm
 
Building your first sql server cluster
Building your first sql server clusterBuilding your first sql server cluster
Building your first sql server cluster
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
 
How To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesHow To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - Slides
 
Troubleshooting sql server
Troubleshooting sql serverTroubleshooting sql server
Troubleshooting sql server
 
Sql server troubleshooting
Sql server troubleshootingSql server troubleshooting
Sql server troubleshooting
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
 
Technical Writing PowerPoint
Technical Writing PowerPointTechnical Writing PowerPoint
Technical Writing PowerPoint
 
Always on in SQL Server 2012
Always on in SQL Server 2012Always on in SQL Server 2012
Always on in SQL Server 2012
 
Introduction to technical writing
Introduction to technical writingIntroduction to technical writing
Introduction to technical writing
 
All About Technical Writing
All About  Technical  WritingAll About  Technical  Writing
All About Technical Writing
 
Qualities of good technical writing with examples
Qualities of good technical writing with examplesQualities of good technical writing with examples
Qualities of good technical writing with examples
 
ENG 131: Technical Writing Introduction PowerPoint
ENG 131: Technical Writing Introduction PowerPointENG 131: Technical Writing Introduction PowerPoint
ENG 131: Technical Writing Introduction PowerPoint
 

Similaire à IIS Always-On Services

Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web Applications
Clint Edmonson
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web Applications
Microsoft ArcReady
 
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Axway Appcelerator
 

Similaire à IIS Always-On Services (20)

Scaling Out .NET
Scaling Out .NETScaling Out .NET
Scaling Out .NET
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web Applications
 
Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03Windows Server 2008 R2 Dev Session 03
Windows Server 2008 R2 Dev Session 03
 
IBM Impact Session 2351 hybrid apps
IBM Impact Session 2351 hybrid appsIBM Impact Session 2351 hybrid apps
IBM Impact Session 2351 hybrid apps
 
Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
 
Guide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development ToolGuide to Vite JS – Modern Fron-End Development Tool
Guide to Vite JS – Modern Fron-End Development Tool
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web Applications
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
 
Startups without Servers
Startups without ServersStartups without Servers
Startups without Servers
 
Final ppt
Final pptFinal ppt
Final ppt
 
Mobile Commerce ppt....... Provides a website interface to the customers to b...
Mobile Commerce ppt....... Provides a website interface to the customers to b...Mobile Commerce ppt....... Provides a website interface to the customers to b...
Mobile Commerce ppt....... Provides a website interface to the customers to b...
 
Best practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netBest practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.net
 
The Power of IBM API Management. API connect 2016 Vegas
The Power of IBM API Management. API connect 2016 VegasThe Power of IBM API Management. API connect 2016 Vegas
The Power of IBM API Management. API connect 2016 Vegas
 
Building CI/CD Pipelines for Serverless Applications
Building CI/CD Pipelines for Serverless ApplicationsBuilding CI/CD Pipelines for Serverless Applications
Building CI/CD Pipelines for Serverless Applications
 
Microsoft Tech Ed 2006 #2
Microsoft Tech Ed 2006 #2Microsoft Tech Ed 2006 #2
Microsoft Tech Ed 2006 #2
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
 
Development of skype for business and knowledge of
Development of skype for business and knowledge ofDevelopment of skype for business and knowledge of
Development of skype for business and knowledge of
 

Plus de Brian Ritchie

Plus de Brian Ritchie (6)

Transforming your application with Elasticsearch
Transforming your application with ElasticsearchTransforming your application with Elasticsearch
Transforming your application with Elasticsearch
 
Building Event-Driven Systems with Apache Kafka
Building Event-Driven Systems with Apache KafkaBuilding Event-Driven Systems with Apache Kafka
Building Event-Driven Systems with Apache Kafka
 
From Dev to Ops:Delivering an API to Production with Splunk
From Dev to Ops:Delivering an API to Production with SplunkFrom Dev to Ops:Delivering an API to Production with Splunk
From Dev to Ops:Delivering an API to Production with Splunk
 
Extending the Enterprise with MEF
Extending the Enterprise with MEFExtending the Enterprise with MEF
Extending the Enterprise with MEF
 
CQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility SegregationCQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility Segregation
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

IIS Always-On Services

  • 1. Hosting Windows Services in IIS Take advantage of the IIS platform for hosting your Always-On services. Brian Ritchie Chief ArchitectPayformance Corporation Email: brian.ritchie@gmail.com Blog: http://weblog.asp.net/britchie Web: http://www.dotnetpowered.com
  • 2. Who am I? Brian Ritchie Chief Architect at Payformance Corporation Nearly 20 years of development experience Developing on .NET since 1.0 Beta 1 Contributed to Mono and other open source projects
  • 3. Why build Windows Services? When you need always-on functionality Examples: File Watching & Processing Scheduled tasks Long-running tasks Queued processing
  • 4. Why build Windows Services? Windows Services have been around forever, why change now?
  • 6. Reasons for change Windows Services have no User Interface making them hard to monitor, manage, and debug. Windows Services are harder to deploy & can’t use Web Deploy.
  • 7. Who can save us from these problems? I’m IIS & I’m here to help!
  • 8. Did you say IIS? More than just a web server, IIS is an application server platform. Web Applications: ASP.NET, PHP, and more Web Services: ASMX, WCF Multiple Protocols: HTTP, HTTPS, TCP, Named Pipes And now… Always-On Services: Auto-start & Always Running
  • 9. What makes IIS better?
  • 10. IIS7: Your Single Hosting Framework
  • 11. Monitoring via the IIS Manager Since all services will be hosted under the w3wp.exe process name, you can see the Worker Process associated with your application pool within the IIS manager:
  • 12. Monitoring via Process Explorer Another approach is to use the SysInternals Process Explorer free from Microsoft.  Add the “Command Line” column to the grid, and the application pool name will be listed after the –ap switch.
  • 13. Deployments…made easy Web Deploy 2.1 Deploy Package Build/Deploy Server Build Server (using MSBuild) Deployment Package IIS Server IIS MMC – Export Application IIS MMC – Import Application
  • 14. Look Mom…I have a UI now! No longer “invisible”, your service can publish its own monitoring & management capability
  • 15. OK…I’m sold! How can I take this beauty home today?
  • 16. Getting Started First off…Install the pre-reqs: IIS 7.5 (Windows 2008 R2 or Windows 7) Windows Server AppFabric .NET Framework 4.0 Next…Configure IIS: Set Application Pool to “Always Running” Configure Site with Net.Pipe Binding Set Application to “Auto Start”
  • 19. Building a service What are some fundamental differences between a standard Web Service and a Windows Service? Request-Response vs. Event-based State-less vs. State-full Transparent threading vs. Thread Management DLL vs. EXE All of the Above
  • 20. Building a Service:Differences in Process Models Windows Service Process Model Service Controller Service (EXE) MMC
  • 21. Building a Service:Differences in Process Models Windows Service Process Model IIS Worker Process Model Service Controller Service (EXE) MMC W3WP WWW Publishing Service svchost.exe -k iissvcs AppDomain Service (DLL) IIS Manager AppDomain
  • 22. Building a service Where does the service perform it’s startup? Application_Startin Global.asax AppInitialize in AppStart.cs AppStartup in the session controller
  • 23. Building a service What is the scope of a static variables? Class Thread AppDomain Process Machine
  • 24. Visualizing the stack Machine Process AppDomain Your service runs here Thread Thread Static Scope Either you manage threads directly or use a Thread Pool or TPL
  • 25. Walk Thru: Building a service
  • 26. Twitter: @brian_ritchie Blog: http://weblogs.asp.net/britchie Thanks for coming!