SlideShare une entreprise Scribd logo
1  sur  17
Copyright © 2005 newtelligence® AG. All rights reserved
Daniel Fisher
Software Engineer, newtelligence® AG
danielf@newtelligence.com
Web Development
IIS & ASP.NET Webservices
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Agenda
 ASP.NET in …
 Process model
 State Management
 Service Tiers & Provider model
 Languages & File Extensions
 Coding model
•WebForms
•Codebehind
•Compilation
© 2005 newtelligence Aktiengesellschaft. All rights reserved
ASP.NET in .NET
SystemServices
Common Language Runtime
Services Framework
ASP.NET
(Web Forms & Web Services)
Windows Forms
Base Data Debug ...
© 2005 newtelligence Aktiengesellschaft. All rights reserved
ASP.NET in IIS
Internet Information Server
InetInfo
HTTP.SYS
kernel mode HTTPlistener
W3SVC App Pool App Pool
Metabase
ConfigMgr
ProcessMgr
W3wp.exe
WebApp
W3wp.exe
WebApp
WebApp
© 2005 newtelligence Aktiengesellschaft. All rights reserved
ASP in IIS (Windows 2003)
Internet Information Server
HTTP.SYS
kernel mode HTTPlistener
App Pool
W3wp.exe
Web Application
CacheHttpModules
HttpHandler
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Process Model
 New process model for ASP.NET and Indigo
 Very flexible activation
 ASP.NET Runtime is managed!
•ISAPI-Filter
 Runs as ASPNET user account
 Asynchronous execution of requests
•Own Thread-Pool
•Threads are not related to IIS Threads
 Multithreaded
•No Apartment-Model
 Alternative Filtering-Model
•HTTP-Modules und -Handlers replace ISAPIFilters
 Cache
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Languages
 VB
 C#
 J#
 C++
 COBOL
 PHP
 etc…
© 2005 newtelligence Aktiengesellschaft. All rights reserved
File Extensions
 ASP.NET related files
•WebForms: *.aspx
 CodeBehind: *.aspx.cs, *.asmx.vb, ...
 Resources: *.aspx.resx
•WebUserControls: *.ascx
•Code: *.cs, *.vb
•MasterPages: *.master
•Skin: *.skin
•RequestHandler: *.ashx
•WebServices: *.asmx
•Configuration: Web.config
•Application: Global.asax und Global.asax.vb
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Coding Models in ASP.NET 1.x
Code Inline Code Behind
System.Web.Services.
WebService
System.Web.Services.
WebService
ASMX ASMX ASMX
Temp.dll Temp.dllMyWeb.dll
Inherits Inherits
Inherits
Runtime
Compiled
Runtime
Compiled
Pre-
Compiled
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Coding Models in ASP.NET 2.0
Code Inline Code Behind
System.Web.Services.
WebService
System.Web.Services.
WebService
ASMX ASMX
Temp.dll Temp.dll
Inherits Inherits
Runtime
Compiled
Runtime
Compiled
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Coding Model
 Reduce Inheritance Complexity
 No need for declaration code
 Code is linked by Visual Studio and the runtime
 Hot Updates (XCopy deployment)
 Full Integration in the .NET Framework
•Consistent programming model, same tools
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Codebehind
 Enable separation of code from content
•Developers and designers can work
independently
WebService.asmx
WebService.asmx.cs
© 2005 newtelligence Aktiengesellschaft. All rights reserved
ASP.NET 1.x Codebehindusing System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
namespace WebApplication1 {
public class Service : System.Web.Services.WebService{
public Service()
{
InitializeComponent();
}
private IContainer components = null;
private void InitializeComponent()
{
}
protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
© 2005 newtelligence Aktiengesellschaft. All rights reserved
ASP.NET 2.0 CodeBehind
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
}
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Runtime compilation
 Inline Code
 The Code Directory
•holds uncompiled classes
•Compilation at runtime
 %SystemRoot%Microsoft.NETFramework
X.X.XXX
Temporary ASP.NET Files
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Runtime Compilation Explained
Request
Parse Generate
Response
Request
Instantiate
Response
Codebehind
Instantiate,
Process and
Render
Compile
* .ASMX
* .ASMX
© 2005 newtelligence Aktiengesellschaft. All rights reserved
Thank You
 © 2005 newtelligence® Aktiengesellschaft
newtelligence® AG
Gilleshütte 99
D-41352 Korschenbroich
http://www.newtelligence.com
info@newtelligence.com
 The presentation content is provided for your personal information
only. Any commercial or non-commercial use of the presentation in
full or of any text or graphics requires a license from newtelligence
AG.
 This presentation is protected by the German Copyright Act, EU
copyright regulations and international treaties.

Contenu connexe

Tendances

Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionObeo
 
Building a Web API with ASP.Net Core
Building a Web API with ASP.Net CoreBuilding a Web API with ASP.Net Core
Building a Web API with ASP.Net CoreBizTalk360
 
.NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10).NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10)Alex Pshul
 
Running Spring, .NET, and IBM Watson Voice on PCF 2.0
Running Spring, .NET, and IBM Watson Voice on PCF 2.0Running Spring, .NET, and IBM Watson Voice on PCF 2.0
Running Spring, .NET, and IBM Watson Voice on PCF 2.0VMware Tanzu
 
An overview of devportal technologies and their (dis)advantages
An overview of devportal technologies and their (dis)advantagesAn overview of devportal technologies and their (dis)advantages
An overview of devportal technologies and their (dis)advantagesPronovix
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...Andrei Sebastian Cîmpean
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSBhuvaneswari Subramani
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSCodeOps Technologies LLP
 
DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?Data Con LA
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseEric Shupps
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...Bill Ayers
 
[EmPower 365Sat] PCF Custom Controls
[EmPower 365Sat] PCF Custom Controls[EmPower 365Sat] PCF Custom Controls
[EmPower 365Sat] PCF Custom Controls⚡ Danish Naglekar
 
EF Core 1: News features and changes
EF Core 1: News features and changesEF Core 1: News features and changes
EF Core 1: News features and changesManfred Steyer
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Haufe-Lexware GmbH & Co KG
 
Cloud Native Applications for Cloud Foundry using Spring Cloud : A Workshop
Cloud Native Applications for Cloud Foundry using Spring Cloud : A WorkshopCloud Native Applications for Cloud Foundry using Spring Cloud : A Workshop
Cloud Native Applications for Cloud Foundry using Spring Cloud : A WorkshopCorneil du Plessis
 
Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)Alexandre Roman
 
How to generate code coverage reports in xcode with slather
How to generate code coverage reports in xcode with slatherHow to generate code coverage reports in xcode with slather
How to generate code coverage reports in xcode with slatherallanh0526
 

Tendances (20)

Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
Building a Web API with ASP.Net Core
Building a Web API with ASP.Net CoreBuilding a Web API with ASP.Net Core
Building a Web API with ASP.Net Core
 
.NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10).NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10)
 
Running Spring, .NET, and IBM Watson Voice on PCF 2.0
Running Spring, .NET, and IBM Watson Voice on PCF 2.0Running Spring, .NET, and IBM Watson Voice on PCF 2.0
Running Spring, .NET, and IBM Watson Voice on PCF 2.0
 
An overview of devportal technologies and their (dis)advantages
An overview of devportal technologies and their (dis)advantagesAn overview of devportal technologies and their (dis)advantages
An overview of devportal technologies and their (dis)advantages
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWS
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
 
DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?
 
Getting Started with ASP.NET vNext
Getting Started with ASP.NET vNextGetting Started with ASP.NET vNext
Getting Started with ASP.NET vNext
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
Tracing Java Applications on Azure
Tracing Java Applications on AzureTracing Java Applications on Azure
Tracing Java Applications on Azure
 
[EmPower 365Sat] PCF Custom Controls
[EmPower 365Sat] PCF Custom Controls[EmPower 365Sat] PCF Custom Controls
[EmPower 365Sat] PCF Custom Controls
 
EF Core 1: News features and changes
EF Core 1: News features and changesEF Core 1: News features and changes
EF Core 1: News features and changes
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019
 
Cloud Native Applications for Cloud Foundry using Spring Cloud : A Workshop
Cloud Native Applications for Cloud Foundry using Spring Cloud : A WorkshopCloud Native Applications for Cloud Foundry using Spring Cloud : A Workshop
Cloud Native Applications for Cloud Foundry using Spring Cloud : A Workshop
 
Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)
 
How to generate code coverage reports in xcode with slather
How to generate code coverage reports in xcode with slatherHow to generate code coverage reports in xcode with slather
How to generate code coverage reports in xcode with slather
 

Similaire à 2005 - .NET SummerCamp: Web developmentwith IIS & ASP.NET webservices

Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5Immo Landwerth
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application Dharmendra Sid
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Clint Edmonson
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Flex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & WebservicesFlex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & Webservicesivascucristian
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Jeff Blankenburg
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumbleTadeusz Balcer
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworksnawal saad
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdfSonia Simi
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentationdimuthu22
 

Similaire à 2005 - .NET SummerCamp: Web developmentwith IIS & ASP.NET webservices (20)

Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
 
Webhouse
WebhouseWebhouse
Webhouse
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Introduction to asp
Introduction to aspIntroduction to asp
Introduction to asp
 
Building Modern Web Apps Using ASP.NET 5
Building Modern Web Apps Using ASP.NET 5Building Modern Web Apps Using ASP.NET 5
Building Modern Web Apps Using ASP.NET 5
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
 
Beginners introduction to asp.net
Beginners introduction to asp.netBeginners introduction to asp.net
Beginners introduction to asp.net
 
Flex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & WebservicesFlex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & Webservices
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
 
Visual Studio 2012 introduction
Visual Studio  2012 introductionVisual Studio  2012 introduction
Visual Studio 2012 introduction
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
Visual studio
Visual studioVisual studio
Visual studio
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
 
Manas
ManasManas
Manas
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 

Plus de Daniel Fisher

MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityMD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityDaniel Fisher
 
NRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityNRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityDaniel Fisher
 
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an....NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...Daniel Fisher
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und buildDaniel Fisher
 
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...Daniel Fisher
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...Daniel Fisher
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGETDaniel Fisher
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST WarsDaniel Fisher
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC LocalizationDaniel Fisher
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5Daniel Fisher
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAXDaniel Fisher
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#Daniel Fisher
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVCDaniel Fisher
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NETDaniel Fisher
 
2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVCDaniel Fisher
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCFDaniel Fisher
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET MembershipDaniel Fisher
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#Daniel Fisher
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als CacheDaniel Fisher
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engineDaniel Fisher
 

Plus de Daniel Fisher (20)

MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityMD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
 
NRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityNRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragility
 
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an....NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
 
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST Wars
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET
 
2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
 

2005 - .NET SummerCamp: Web developmentwith IIS & ASP.NET webservices

  • 1. Copyright © 2005 newtelligence® AG. All rights reserved Daniel Fisher Software Engineer, newtelligence® AG danielf@newtelligence.com Web Development IIS & ASP.NET Webservices
  • 2. © 2005 newtelligence Aktiengesellschaft. All rights reserved Agenda  ASP.NET in …  Process model  State Management  Service Tiers & Provider model  Languages & File Extensions  Coding model •WebForms •Codebehind •Compilation
  • 3. © 2005 newtelligence Aktiengesellschaft. All rights reserved ASP.NET in .NET SystemServices Common Language Runtime Services Framework ASP.NET (Web Forms & Web Services) Windows Forms Base Data Debug ...
  • 4. © 2005 newtelligence Aktiengesellschaft. All rights reserved ASP.NET in IIS Internet Information Server InetInfo HTTP.SYS kernel mode HTTPlistener W3SVC App Pool App Pool Metabase ConfigMgr ProcessMgr W3wp.exe WebApp W3wp.exe WebApp WebApp
  • 5. © 2005 newtelligence Aktiengesellschaft. All rights reserved ASP in IIS (Windows 2003) Internet Information Server HTTP.SYS kernel mode HTTPlistener App Pool W3wp.exe Web Application CacheHttpModules HttpHandler
  • 6. © 2005 newtelligence Aktiengesellschaft. All rights reserved Process Model  New process model for ASP.NET and Indigo  Very flexible activation  ASP.NET Runtime is managed! •ISAPI-Filter  Runs as ASPNET user account  Asynchronous execution of requests •Own Thread-Pool •Threads are not related to IIS Threads  Multithreaded •No Apartment-Model  Alternative Filtering-Model •HTTP-Modules und -Handlers replace ISAPIFilters  Cache
  • 7. © 2005 newtelligence Aktiengesellschaft. All rights reserved Languages  VB  C#  J#  C++  COBOL  PHP  etc…
  • 8. © 2005 newtelligence Aktiengesellschaft. All rights reserved File Extensions  ASP.NET related files •WebForms: *.aspx  CodeBehind: *.aspx.cs, *.asmx.vb, ...  Resources: *.aspx.resx •WebUserControls: *.ascx •Code: *.cs, *.vb •MasterPages: *.master •Skin: *.skin •RequestHandler: *.ashx •WebServices: *.asmx •Configuration: Web.config •Application: Global.asax und Global.asax.vb
  • 9. © 2005 newtelligence Aktiengesellschaft. All rights reserved Coding Models in ASP.NET 1.x Code Inline Code Behind System.Web.Services. WebService System.Web.Services. WebService ASMX ASMX ASMX Temp.dll Temp.dllMyWeb.dll Inherits Inherits Inherits Runtime Compiled Runtime Compiled Pre- Compiled
  • 10. © 2005 newtelligence Aktiengesellschaft. All rights reserved Coding Models in ASP.NET 2.0 Code Inline Code Behind System.Web.Services. WebService System.Web.Services. WebService ASMX ASMX Temp.dll Temp.dll Inherits Inherits Runtime Compiled Runtime Compiled
  • 11. © 2005 newtelligence Aktiengesellschaft. All rights reserved Coding Model  Reduce Inheritance Complexity  No need for declaration code  Code is linked by Visual Studio and the runtime  Hot Updates (XCopy deployment)  Full Integration in the .NET Framework •Consistent programming model, same tools
  • 12. © 2005 newtelligence Aktiengesellschaft. All rights reserved Codebehind  Enable separation of code from content •Developers and designers can work independently WebService.asmx WebService.asmx.cs
  • 13. © 2005 newtelligence Aktiengesellschaft. All rights reserved ASP.NET 1.x Codebehindusing System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace WebApplication1 { public class Service : System.Web.Services.WebService{ public Service() { InitializeComponent(); } private IContainer components = null; private void InitializeComponent() { } protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } [WebMethod] public string HelloWorld() { return "Hello World"; } } }
  • 14. © 2005 newtelligence Aktiengesellschaft. All rights reserved ASP.NET 2.0 CodeBehind using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } }
  • 15. © 2005 newtelligence Aktiengesellschaft. All rights reserved Runtime compilation  Inline Code  The Code Directory •holds uncompiled classes •Compilation at runtime  %SystemRoot%Microsoft.NETFramework X.X.XXX Temporary ASP.NET Files
  • 16. © 2005 newtelligence Aktiengesellschaft. All rights reserved Runtime Compilation Explained Request Parse Generate Response Request Instantiate Response Codebehind Instantiate, Process and Render Compile * .ASMX * .ASMX
  • 17. © 2005 newtelligence Aktiengesellschaft. All rights reserved Thank You  © 2005 newtelligence® Aktiengesellschaft newtelligence® AG Gilleshütte 99 D-41352 Korschenbroich http://www.newtelligence.com info@newtelligence.com  The presentation content is provided for your personal information only. Any commercial or non-commercial use of the presentation in full or of any text or graphics requires a license from newtelligence AG.  This presentation is protected by the German Copyright Act, EU copyright regulations and international treaties.

Notes de l'éditeur

  1. <number>
  2. difficulties related to the way code-behind was synchronized with ASPX page. ASPX page inherited from the code-behind file in a programming sense.
  3. Partial class, new keyword (Expands in Visual Basic, or Partial in C#) code in the class should be merged with another class at runtime. ASPX page uses a new directive called compilewith to indicate its association with the code-behind file.