Caching and State Management in ASP.NET. speaker: Fritz Onion session: A9

Size: px
Start display at page:

Download "Caching and State Management in ASP.NET. speaker: Fritz Onion session: A9"

Transcription

1 Caching and State Management in ASP.NET speaker: Fritz Onion session: A9 1

2 Outline Caching Caching opportunities in ASP.NET Page output caching Page fragment caching Data caching State management Application state Session state Out-of-process session state Database-backed session state 2

3 Caching Caching in Web applications can provide dramatic improvements in performance. ASP.NET provides caching at several levels for you to leverage and improve the responsiveness of your application. 3

4 Caching opportunities in ASP.NET There are two obvious places where caching can improve pageaccess efficiency in ASP.NET Caching a page (or portion of a page) so that the code to generate the page need not be run Caching data from a back-end data source in the worker process to avoid round trips ASP.NET provides features to support both types of caching Page output caching Page fragment caching Data caching 4

5 Caching opportunities in ASP.NET HTTP Request GET /foo/foo.aspx HTTP Response HTTP/ OK... aspnet_ewp.exe (ASP.NET Worker Process) aspnet_eisapi.dll (ASP.NET ISAPI Extension) 1 IHttpHandler Page Class 2 INETINFO.EXE (IIS) 1 Preempt page class execution and return cached version of page (Output caching) Database Server 2 Save round-trips to the database server by caching static data in the data cache 5

6 Output Caching Dynamically generated.aspx pages can be cached for efficiency Instead of re-generating each.aspx page for identical requests, the pages are cached OutputCache directive controls caching duration (in seconds) Can control programmatically using the HttpCachePolicy class Cache used for GET, POST, or HEAD requests if possible Caching of GET requests with query strings or POST requests with bodies controlled by VaryByParam property 6

7 Setting an absolute expiration for retaining a page in the output cache <%@ OutputCache Duration="3600" VaryByParam="none" %> <html> <script language="c#" runat="server"> void Page_Load(Object sender, EventArgs e) { msg.text = DateTime.Now.ToString(); } </script> <body> <h3>output Cache example</font></h3> <p>last generated on: <asp:label id="msg" runat="server"/> </body> </html> 7

8 HttpCachePolicy class public sealed class HttpCachePolicy { public HttpCacheVaryByHeaders VaryByHeaders {get;} public HttpCacheVaryByParams VaryByParams {get;} public void AppendCacheExtension(string extension); public void SetCacheability(HttpCacheability cacheability); public void SetExpires(DateTime date); public void SetLastModified(DateTime date); public void SetMaxAge(TimeSpan delta); public void SetNoServerCaching(); public void SetSlidingExpiration(bool slide); //... } public sealed class HttpResponse { public HttpCachePolicy Cache {get;} //... public class Page :... } { public HttpResponse Response {get;} //... } 8

9 Modiyfing a page's caching policy programmatically <html> <script language="c#" runat="server"> void Page_Load(Object sender, EventArgs e) { Response.Cache.SetExpires(DateTime.Now.AddSeconds(360)); Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetSlidingExpiration(true); msg.text = DateTime.Now.ToString(); } </script> <body> <h3>output Cache example</font></h3> <p>last generated on: <asp:label id="msg" runat="server"/> </body> </html> 9

10 Caching multiple versions of a page Pages requested using GET with an accompanying query string, or POST with a body must cache multiple versions for correctness VaryByParam property determines how many versions of page are cached Specifying VaryByParam to "none" means that only GET requests with no query strings or POST requests with no body will hit the cache Specifying VaryByParam to "*" means that as many different querystring or POST body requests are received will be cached 10

11 VaryByParam values VaryByParam value none * v1 v1;v2 Description One version of page cached (only raw GET) n versions of page cached based on query string and/or POST body n versions of page cached based on value of v1 variable in query string or POST body n versions of page cached based on value of v1 and v2 variables in query string or POST body <%@ OutputCache Duration="60" VaryByParam="none" %> <%@ OutputCache Duration="60" VaryByParam="*" %> <%@ OutputCache Duration="60" VaryByParam="name;age" %> 11

12 Other cache varying options The OutputCache directive supports several other cache varying options VaryByHeader - maintain separate cache entry for header string changes (UserAgent, UserLanguage, etc.) VaryByControl - for user controls, maintain separate cache entry for properties of a user control VaryByCustom - can specify separate cache entries for browser types and version or provide a custom GetVaryByCustomString method in HttpApplicationderived class 12

13 Page Fragment Caching Portions of a page can be cached as well Must be separated out into a user control OutputCache directive specified in user control file (.ascx) VaryByControl property lets you cache multiple versions of the user control based on control values within the user control Ideal for menus, navigation bars, title bars, or any replicated piece used in multiple pages that changes infrequently 13

14 Page fragment caching MyUserControl.ascx OutputCache Duration="60" VaryByParam="none" %> Control Language=C# %> <script runat=server> protected void Page_Load(Object src, EventArgs e) { m_date.text = "Control generated at " + DateTime.Now.ToString(); } </script> <asp:label id=m_date runat=server /> Client.aspx <%@ Page Language=C# %> <%@ Register TagPrefix="DM" TagName="UserFrag" Src="MyUserControl.ascx" %> <html> <script runat=server> protected void Page_Load(Object src, EventArgs e) { m_pagedate.text = "Page generated at " + DateTime.Now.ToString(); } </script> <body> <DM:UserFrag runat=server /> <br> <asp:label id=m_pagedate runat=server /> </body></html> 14

15 Data Caching ASP.NET provides a full-featured cache engine that can be used by pages to store data across HTTP requests Accessible through Page.Cache property (or HttpContext.Cache) Supports simple dictionary interface for caching values Explicit control over expiration of values possible File and key dependencies can be created using the CacheDependency class Cache is recreated for each application instance Used extensively by HTTP pipeline itself State protected using multi-reader, single-writer lock 15

16 Using the cache Import Namespace="System.Data" %> Import Namespace="System.Data.SqlClient" %> <html> <script language="c#" runat="server"> protected void Page_Load(Object src, EventArgs e) { DataView dv = (DataView)Cache.Get("EmployeesDataView"); if (dv == null) { // wasn't there SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=;database=Test"); SqlDataAdapter da = new SqlDataAdapter("select * from Employees", conn); DataSet ds = new DataSet(); da.fill(ds, "Employees"); dv = ds.tables["employees"].defaultview; Cache.Insert("EmployeesDataView", dv); conn.close(); } else Response.Write("<h2>Loaded employees from data cache!</h2>"); lb1.datasource = dv; lb1.datatextfield = "Name"; lb1.datavaluefield = "Age"; DataBind(); } </script> <body><asp:listbox id="lb1" runat=server /></body> </html> 16

17 Cache entry attributes When adding cache entries, several attributes can be specified Dependencies (on files, directories, or other cache entries) Absolute expiration time Sliding expiration time Relative priority Rate of priority decay Callback function for removal notification 17

18 Setting cache entry attributes <script language=c# runat=server> public void Application_OnStart() { System.IO.StreamReader sr = new System.IO.StreamReader("pi.txt"); string pi = sr.readtoend(); Context.Cache.Add("pi", pi, null, Cache.NoAbsoluteExpiration, CacheItemPriority.NotRemovable, CacheItemPriorityDecay.Never, null); } </script> 18

19 Removing objects from the cache Objects can be explicitly taken out of the cache by calling Remove Cache can remove item implicitly for a variety of reasons Data expiration Memory consumption Low priority data removed first Values marked with Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, or CacheItemPriorityDecay.Never are never removed Can register for removal notification, including reason 19

20 Using removal notication callback <script language=c# runat=server> public void Application_OnStart() { System.IO.StreamReader sr = new System.IO.StreamReader("pi.txt"); string pi = sr.readtoend(); Context.Cache.Add("pi", pi, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 5, 0), CacheItemPriorityDecay.Never, new CacheItemReomovedCallback(this.OnRemove)); } public void OnRemove(string key, object val, CacheItemRemovedReason r) { // respond to cache removal here } </script> 20

21 State Management Web programmers must be very state conscious as all communication occurs over an essentially connectionless protocol (HTTP). ASP.NET provides assistance in tracking, storing, and transmitting application state. 21

22 Types of State Web applications must be careful about where state is kept Application State - maintained on an application level, useful for global application settings, best kept read-only (like database connection string) Session State - individual data stored for a given user while interacting with the application (like items in a shopping cart) Cookie State - state maintained by the client browser and passed back with subsequent requests Control State - individual controls on a form need to maintain state for user-interface consistency 22

23 Application State Application state is accessed through the HttpApplication object's Application property Ideally, application state is loaded on Application_Start and then only accessed by pages If concurrent updates to application state may be an issue, protect access by calling Application.Lock() first, matched with a call to Application.Unlock() Not shared across either web-farms or web-gardens For read-only type data, prefer the data cache over Application state 23

24 Sample use of Application state // Inside of global.asax void Application_Start() { DataSet ds = new DataSet(); // population of dataset from ADO.NET query not shown } // Create new dataview based on table and cache DataView view = new DataView(ds.Tables[0]); Application["FooDataView"] = view; // In some page within the application void Page_Load(Object Src, EventArgs E) { DataView Source = (DataView)(Application["FooDataView"]); //... MyDataGrid.DataSource = Source; //... } 24

25 Session State Session state is used to store individual data for a user during page interaction Session state is scoped by a single client session, and is tagged with a unique (and hard to guess) session ID The session ID is transmitted between the client and server using cookies (or munged URLs if cookieless mode is enabled) Accessed through the Session property of a page, which references the current HttpSession object provided by the HTTP runtime State is typically initialized in Session_Start handler in global.asax 25

26 Sample use of Session state // Inside of global.asax void Session_Start() { Session["Age"] = -1; // initialize state } // Inside a page of the application protected void Submit_Click(Object sender, EventArgs E) { Session["Age"] = AgeField.Value; // save age user entered //... } // Inside another page of the application // only let user vote if he/she is over 18 if (Session["Age"] >= 18) VoteButton.Enabled = true; else VoteButton.Enabled = false; 26

27 Issues with session state Session state management problematic in ASP Relies on cookies to track clients (may be disabled) Serializes all requests from a given client Does not survive process shutdown Is not maintained across machines in a web farm/garden Session state management improved in ASP.NET Can avoid relying on cookies to track clients May not serialize all requests from a given client Can configure to survive process shutdown Can configure to work across machines in a web farm/garden 27

28 Configuring Session State The way ASP.NET manages session state for you is configurable The sessionstate section of web.config can be used to configure session state Lets you control things like whether cookies are used to pass the session ID, how long before the session times out, and so on ASP.NET introduces the capability of storing session state transparently in a distinct process (service) potentially on a different machine, or even more appealing, in a database indexed by session ID 28

29 SessionState options Value cookieless mode stateconnectionstring sqlconnectionstring timeout Meaning Pass SessionID via cookies or URL munging? [Off InProc SqlServer StateServer] Server name and port for StateServer Sql connection string for SqlServer state Session state timeout value (minutes) 29

30 web.config file modifying session state configuration <configuration> <system.web> <sessionstate mode="stateserver" stateconnectionstring=" :8081" cookieless="true" timeout="40" /> </system.web> </configuration> 30

31 Tracking clients Session management predicated on associating clients with HTTP request messages No intrinsic support in the protocol HTTP pipeline's session management module supports two techniques, cookies or mangled URLs Controlled by <sessionstate> configuration element's cookieless attribute 31

32 Session key maintained with cookies POST /foo/test.aspx HTTP/1.1 Host: ContentType: text/html ContentLength: nnn Name=Fred... Request Response HTTP/ OK ContentType: text/html ContentLength: nnn Set-Cookie: AspSessionId=xyz; path=/ <html>... 32

33 Session key maintained with URL mangling POST /foo/test.aspx HTTP/1.1 Host: ContentType: text/html ContentLength: nnn Name=Fred... Request Redirect HTTP/ Found Location: POST /xyz/foo/test.aspx HTTP/1.1 Host: ContentType: text/html ContentLength: nnn Name=Fred... Re-request Response HTTP/ OK ContentType: text/html ContentLength: nnn <html>... 33

34 Session key maintenance: cookies vs. mangled URLs Cookies... Are more efficient Are not supported by clients who have disabled them Mangled URLs... Work with clients that don't accept/support cookies Are less efficient Will not work if clients always use absolute URLs 34

35 Storing session state out of process May want session state to survive process restart May want session state to be available from different processes Session state can be stored out of process In local or remote Windows 2000 service In local or remote SQL server Stored as opaque byte stream, can't be worked with in place Roundtrips required to load/store content and to refresh timeout period Roundtrips required to make content durable when client's interactive session ends 35

36 Storing session state out of process aspnet_ewp.exe aspnet_eisapi.dll INETINFO.EXE aspnet_ewp.exe DB Server Server A Server B aspnet_ewp.exe ASPState- TempSessions aspnet_eisapi.dll INETINFO.EXE aspnet_ewp.exe SQL Server 36

37 Roundtrips Session manager uses signaling interfaces to improve performance by avoiding unnecessary roundtrips IReadOnlySessionState causes 1 roundtrip to load IRequiresSessionState causes 2 roundtrips to load/store Neither causes 1 roundtrip to update timeout period Lots of roundtrips cannot be avoided Session manager forced to poll if record is exclusively locked Other data access work involves additional roundtrips 37

38 Indicating session state serialization requirements in Pages foo.aspx Page EnableSessionState="false" %> Generates class foo_aspx : Page {... foo.aspx <%@ Page EnableSessionState="readonly" %> Generates class foo_aspx : Page, IReadOnlySessionState {... (default) foo.aspx <%@ Page EnableSessionState="true" %> Generates class foo_aspx : Page, IRequiresSesssionState {... 38

39 Roundtrips Roundtrip performance often worse than (and never better than) you can do by hand Especially if session content has to be durable anyway Consider filling shopping cart and checking out... If items stored in session, requires 2 roundtrips per item and 3 to checkout rt = 2 * items + 3 If items stored in table, requires 1 roundtrip per item and 1 to checkout rt = items

40 Summary Output caching is effective in reducing dynamic page generation Data caching is useful for localizing data access Application state is useful for storing read-only data within applications Session state can be configured in several different ways with ASP.NET Session state can be tracked using cookies or mangled URLs Session state can be mapped to external storage engines 40

41 Questions 41

ASP.NET Using C# (VS2012)

ASP.NET Using C# (VS2012) ASP.NET Using C# (VS2012) This five-day course provides a comprehensive and practical hands-on introduction to developing applications using ASP.NET 4.5 and C#. It includes an introduction to ASP.NET MVC,

More information

Performance Tuning and Optimizing ASP.NET Applications JEFFREY HASAN WITH KENNETH TU

Performance Tuning and Optimizing ASP.NET Applications JEFFREY HASAN WITH KENNETH TU Performance Tuning and Optimizing ASP.NET Applications JEFFREY HASAN WITH KENNETH TU Performance Tuning and Optimizing ASP.NET Applications Copyright 2003 by Jeffrey Hasan with Kenneth Tu All rights reserved.

More information

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview Web and HTTP Protocolo HTTP Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file, Web page consists of base HTML-file which includes several referenced objects Each

More information

Custom Error Pages in ASP.NET Prabhu Sunderaraman prabhu@durasoftcorp.com http://www.durasoftcorp.com

Custom Error Pages in ASP.NET Prabhu Sunderaraman prabhu@durasoftcorp.com http://www.durasoftcorp.com Custom Error Pages in ASP.NET Prabhu Sunderaraman prabhu@durasoftcorp.com http://www.durasoftcorp.com Abstract All web applications are prone to throw two kinds of errors, conditional and unconditional.

More information

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT) Internet Technologies World Wide Web (WWW) Proxy Server Network Address Translator (NAT) What is WWW? System of interlinked Hypertext documents Text, Images, Videos, and other multimedia documents navigate

More information

Cache Configuration Reference

Cache Configuration Reference Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...

More information

multiple placeholders bound to one definition, 158 page approval not match author/editor rights, 157 problems with, 156 troubleshooting, 156 158

multiple placeholders bound to one definition, 158 page approval not match author/editor rights, 157 problems with, 156 troubleshooting, 156 158 Index A Active Directory Active Directory nested groups, 96 creating user accounts, 67 custom authentication, 66 group members cannot log on, 153 mapping certificates, 65 mapping user to Active Directory

More information

ASP Tutorial. Application Handling Part I: 3/15/02

ASP Tutorial. Application Handling Part I: 3/15/02 ASP Tutorial Application Handling Part I: 3/15/02 Agenda Managing User Sessions and Applications Section I Groundwork for Web applications Topics: Asp objects, IIS, global.asa Section II Application Objects

More information

AxCMS.net on Network Load Balancing (NLB) Environment

AxCMS.net on Network Load Balancing (NLB) Environment AxCMS.net on Network Load Balancing (NLB) Environment This article contains step-by-step instructions on how to install AxCMS.net PremiumSample on a demo NLB cluster using IIS7. For installing on older

More information

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting

More information

Logi Ad Hoc Reporting Configuration for Load Balancing (Sticky Sessions)

Logi Ad Hoc Reporting Configuration for Load Balancing (Sticky Sessions) Logi Ad Hoc Reporting Configuration for Load Balancing (Sticky Sessions) Version 10 Last Updated: December 2010 Page 2 Table of Contents About This Paper... 3 What Are Sticky Sessions?... 3 Configuration...

More information

Varnish Tips & Tricks, 2015 edition

Varnish Tips & Tricks, 2015 edition Varnish Tips & Tricks, 2015 edition ConFoo 2015 Montreal, Canada Magnus Hagander magnus@hagander.net PRODUCTS CONSULTING APPLICATION MANAGEMENT IT OPERATIONS SUPPORT TRAINING Magnus Hagander Redpill Linpro

More information

Internet Information TE Services 5.0. Training Division, NIC New Delhi

Internet Information TE Services 5.0. Training Division, NIC New Delhi Internet Information TE Services 5.0 Training Division, NIC New Delhi Understanding the Web Technology IIS 5.0 Architecture IIS 5.0 Installation IIS 5.0 Administration IIS 5.0 Security Understanding The

More information

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1 cse879-03 2010-03-29 17:23 Kyung-Goo Doh Chapter 3. Web Application Technologies reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1. The HTTP Protocol. HTTP = HyperText

More information

ENTERPRISE DATA CENTER APPLICATION DEVELOPMENT GUIDELINES

ENTERPRISE DATA CENTER APPLICATION DEVELOPMENT GUIDELINES APPLICATION DEVELOPMENT GUIDELINES Version 1.10 Date: 05/14/2014 SECURITY WARNING The information contained herein is proprietary to the Commonwealth of Pennsylvania and must not be disclosed to un-authorized

More information

OVERVIEW OF ASP. What is ASP. Why ASP

OVERVIEW OF ASP. What is ASP. Why ASP OVERVIEW OF ASP What is ASP Active Server Pages (ASP), Microsoft respond to the Internet/E-Commerce fever, was designed specifically to simplify the process of developing dynamic Web applications. Built

More information

Security API Cookbook

Security API Cookbook Sitecore CMS 6 Security API Cookbook Rev: 2010-08-12 Sitecore CMS 6 Security API Cookbook A Conceptual Overview for CMS Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 User, Domain,

More information

This class is intended for experienced software developers who understand object-oriented programming (OOP) and C# or VB.NET.

This class is intended for experienced software developers who understand object-oriented programming (OOP) and C# or VB.NET. Objectif is a five-day instructor-led course which begins by introducing the different architectures of ASP.NET Web applications. It then covers the Page class, Web controls, master pages, CSS/Themes,

More information

Sitecore Dynamic Links

Sitecore Dynamic Links Sitecore CMS 6.2 or later Sitecore Dynamic Links Rev: 2015-03-04 Sitecore CMS 6.2 or later Sitecore Dynamic Links A Developer's Guide to Constructing URLs with Sitecore Table of Contents Chapter 1 Introduction...

More information

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol CS640: Introduction to Computer Networks Aditya Akella Lecture 4 - Application Protocols, Performance Applications FTP: The File Transfer Protocol user at host FTP FTP user client interface local file

More information

Using NCache for ASP.NET Sessions in Web Farms

Using NCache for ASP.NET Sessions in Web Farms Using NCache for ASP.NET Sessions in Web Farms April 22, 2015 Contents 1 Getting Started... 1 1.1 Step 1: Install NCache... 1 1.2 Step 2: Configure for Multiple Network Cards... 1 1.3 Step 3: Configure

More information

RMCS Installation Guide

RMCS Installation Guide RESTRICTED RIGHTS Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (C)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS

More information

Network Technologies

Network Technologies Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:

More information

1 Introduction: Network Applications

1 Introduction: Network Applications 1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video

More information

Transition your MCPD Web Developer Skills to MCPD ASP.NET Developer 3.5 (VB)

Transition your MCPD Web Developer Skills to MCPD ASP.NET Developer 3.5 (VB) Transition your MCPD Web Developer Skills to MCPD ASP.NET Developer 3.5 (VB) Course Number: 70-567 UPGRADE Certification Exam 70-567 - UPGRADE: Transition your MCPD Web Developer Skills to MCPD ASP.NET

More information

ASP.NET Forms Authentication Best Practices for Software Developers

ASP.NET Forms Authentication Best Practices for Software Developers ASP.NET Forms Authentication Best Practices for Software Developers By Rudolph Araujo, Foundstone Professional Services August 2005 Background ASP.NET does an excellent job of providing out of the box

More information

Proof of Concept. A New Data Validation Technique for Microsoft ASP.NET Web Applications. Foundstone Professional Services

Proof of Concept. A New Data Validation Technique for Microsoft ASP.NET Web Applications. Foundstone Professional Services Proof of Concept A New Data Validation Technique for Microsoft ASP.NET Web Applications Foundstone Professional Services February 2005 Introduction Despite significant awareness of security issues like

More information

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3 Open-Xchange Authentication & Session Handling Table of Contents 1.Introduction...3 2.System overview/implementation...4 2.1.Overview... 4 2.1.1.Access to IMAP back end services...4 2.1.2.Basic Implementation

More information

Web Caching With Dynamic Content Abstract When caching is a good idea

Web Caching With Dynamic Content Abstract When caching is a good idea Web Caching With Dynamic Content (only first 5 pages included for abstract submission) George Copeland - copeland@austin.ibm.com - (512) 838-0267 Matt McClain - mmcclain@austin.ibm.com - (512) 838-3675

More information

Migrating helpdesk to a new server

Migrating helpdesk to a new server Migrating helpdesk to a new server Table of Contents 1. Helpdesk Migration... 2 Configure Virtual Web on IIS 6 Windows 2003 Server:... 2 Role Services required on IIS 7 Windows 2008 / 2012 Server:... 2

More information

Expanded contents. Section 1. Chapter 2. The essence off ASP.NET web programming. An introduction to ASP.NET web programming

Expanded contents. Section 1. Chapter 2. The essence off ASP.NET web programming. An introduction to ASP.NET web programming TRAINING & REFERENCE murach's web programming with C# 2010 Anne Boehm Joel Murach Va. Mike Murach & Associates, Inc. I J) 1-800-221-5528 (559) 440-9071 Fax: (559) 44(M)963 murachbooks@murach.com www.murach.com

More information

Working With Virtual Hosts on Pramati Server

Working With Virtual Hosts on Pramati Server Working With Virtual Hosts on Pramati Server 13 Overview Virtual hosting allows a single machine to be addressed by different names. There are two ways for configuring Virtual Hosts. They are: Domain Name

More information

Sitecore Health. Christopher Wojciech. netzkern AG. christopher.wojciech@netzkern.de. Sitecore User Group Conference 2015

Sitecore Health. Christopher Wojciech. netzkern AG. christopher.wojciech@netzkern.de. Sitecore User Group Conference 2015 Sitecore Health Christopher Wojciech netzkern AG christopher.wojciech@netzkern.de Sitecore User Group Conference 2015 1 Hi, % Increase in Page Abondonment 40% 30% 20% 10% 0% 2 sec to 4 2 sec to 6 2 sec

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Presentation Layer: Three different approaches. Database Access Layer: same as above.

Presentation Layer: Three different approaches. Database Access Layer: same as above. Overview of web application development Overview of ASP HTTP request/response processing State management of the script logic Microsoft Scripting Runtime library Remote Scripting Ch 5 - ASP 1 Presentation

More information

Chapter 27 Hypertext Transfer Protocol

Chapter 27 Hypertext Transfer Protocol Chapter 27 Hypertext Transfer Protocol Columbus, OH 43210 Jain@CIS.Ohio-State.Edu http://www.cis.ohio-state.edu/~jain/ 27-1 Overview Hypertext language and protocol HTTP messages Browser architecture CGI

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

EPiServer Operator's Guide

EPiServer Operator's Guide EPiServer Operator's Guide Abstract This document is mainly intended for administrators and developers that operate EPiServer or want to learn more about EPiServer's operating environment. The document

More information

StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes

StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes User Guide Rev A StreamServe Persuasion SP4StreamServe Connect for SAP - Business Processes User Guide Rev A SAP, mysap.com,

More information

CMS Performance Tuning Guide

CMS Performance Tuning Guide CMS Performance Tuning Guide Rev: 12 February 2013 Sitecore CMS 6.0-6.5 CMS Performance Tuning Guide A developer's guide to optimizing the performance of Sitecore CMS Table of Contents Chapter 1 Introduction...

More information

Analytics Configuration Reference

Analytics Configuration Reference Sitecore Online Marketing Suite 1 Analytics Configuration Reference Rev: 2009-10-26 Sitecore Online Marketing Suite 1 Analytics Configuration Reference A Conceptual Overview for Developers and Administrators

More information

Integrating the F5 BigIP with Blackboard

Integrating the F5 BigIP with Blackboard Integrating the F5 BigIP with Blackboard Nick McClure nickjm@uky.edu Lead Systems Programmer University of Kentucky Created August 1, 2006 Last Updated June 17, 2008 Integrating the F5 BigIP with Blackboard

More information

APACHE WEB SERVER. Andri Mirzal, PhD N28-439-03

APACHE WEB SERVER. Andri Mirzal, PhD N28-439-03 APACHE WEB SERVER Andri Mirzal, PhD N28-439-03 Introduction The Apache is an open source web server software program notable for playing a key role in the initial growth of the World Wide Web Typically

More information

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7 DEPLOYMENT GUIDE Version 1.1 Deploying F5 with IBM WebSphere 7 Table of Contents Table of Contents Deploying the BIG-IP LTM system and IBM WebSphere Servers Prerequisites and configuration notes...1-1

More information

11.1. Performance Monitoring

11.1. Performance Monitoring 11.1. Performance Monitoring Windows Reliability and Performance Monitor combines the functionality of the following tools that were previously only available as stand alone: Performance Logs and Alerts

More information

Instructor: Betty O Neil

Instructor: Betty O Neil Introduction to Web Application Development, for CS437/637 Instructor: Betty O Neil 1 Introduction: Internet vs. World Wide Web Internet is an interconnected network of thousands of networks and millions

More information

Visual COBOL ASP.NET Shopping Cart Demonstration

Visual COBOL ASP.NET Shopping Cart Demonstration Visual COBOL ASP.NET Shopping Cart Demonstration Overview: The original application that was used as the model for this demonstration was the ASP.NET Commerce Starter Kit (CSVS) demo from Microsoft. The

More information

Free Spider Web development for Free Pascal/Lazarus user's manual

Free Spider Web development for Free Pascal/Lazarus user's manual Free Spider Web development for Free Pascal/Lazarus user's manual FreeSpider Version 1.3.3 Modified: 13.Apr.2013 Author: Motaz Abdel Azeem Home Page : http://code-sd.com/freespider License: LGPL Introduction:

More information

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache. JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming

More information

ASP.NET and Web Forms

ASP.NET and Web Forms ch14.fm Page 587 Wednesday, May 22, 2002 1:38 PM F O U R T E E N ASP.NET and Web Forms 14 An important part of.net is its use in creating Web applications through a technology known as ASP.NET. Far more

More information

HTTP Protocol. Bartosz Walter <Bartek.Walter@man.poznan.pl>

HTTP Protocol. Bartosz Walter <Bartek.Walter@man.poznan.pl> HTTP Protocol Bartosz Walter Agenda Basics Methods Headers Response Codes Cookies Authentication Advanced Features of HTTP 1.1 Internationalization HTTP Basics defined in

More information

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 DEPLOYMENT GUIDE Version 1.1 Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Citrix Presentation Server Prerequisites

More information

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx ASP.NET Overview.NET Framework 4 ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is

More information

GoDaddy (CentriqHosting): Data driven Web Application Deployment

GoDaddy (CentriqHosting): Data driven Web Application Deployment GoDaddy (CentriqHosting): Data driven Web Application Deployment Process Summary There a several steps to deploying an ASP.NET website that includes databases (for membership and/or for site content and

More information

Unit 3: Optimizing Web Application Performance

Unit 3: Optimizing Web Application Performance Unit 3: Optimizing Web Application Performance Contents Overview 1 The Page Scripting Object Model 2 Tracing and Instrumentation in Web Applications 4 ASP.NET 2.0 Caching Techniques 6 Asynchronous Processing

More information

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see

More information

N-tier ColdFusion scalability. N-tier ColdFusion scalability WebManiacs 2008 Jochem van Dieten

N-tier ColdFusion scalability. N-tier ColdFusion scalability WebManiacs 2008 Jochem van Dieten N-tier ColdFusion scalability About me ColdFusion developer for over 10 year Adobe Community Expert for ColdFusion CTO for Prisma IT in the Netherlands consultancy development hosting training Find me

More information

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring 2002. Four parts

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring 2002. Four parts CSE 123b Communications Software Spring 2002 Lecture 11: HTTP Stefan Savage Project #2 On the Web page in the next 2 hours Due in two weeks Project reliable transport protocol on top of routing protocol

More information

VB.NET - WEB PROGRAMMING

VB.NET - WEB PROGRAMMING VB.NET - WEB PROGRAMMING http://www.tutorialspoint.com/vb.net/vb.net_web_programming.htm Copyright tutorialspoint.com A dynamic web application consists of either or both of the following two types of

More information

Single sign-on for ASP.Net and SharePoint

Single sign-on for ASP.Net and SharePoint Single sign-on for ASP.Net and SharePoint Author: Abhinav Maheshwari, 3Pillar Labs Introduction In most organizations using Microsoft platform, there are more than one ASP.Net applications for internal

More information

Lecture 11 Web Application Security (part 1)

Lecture 11 Web Application Security (part 1) Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)

More information

Fachgebiet Technische Informatik, Joachim Zumbrägel

Fachgebiet Technische Informatik, Joachim Zumbrägel Computer Network Lab 2015 Fachgebiet Technische Informatik, Joachim Zumbrägel Overview Internet Internet Protocols Fundamentals about HTTP Communication HTTP-Server, mode of operation Static/Dynamic Webpages

More information

Creating Form Rendering ASP.NET Applications

Creating Form Rendering ASP.NET Applications Creating Form Rendering ASP.NET Applications You can create an ASP.NET application that is able to invoke the Forms service resulting in the ASP.NET application able to render interactive forms to client

More information

Secure Messaging Server Console... 2

Secure Messaging Server Console... 2 Secure Messaging Server Console... 2 Upgrading your PEN Server Console:... 2 Server Console Installation Guide... 2 Prerequisites:... 2 General preparation:... 2 Installing the Server Console... 2 Activating

More information

LearningServer Portal Manager

LearningServer Portal Manager Overview LearningServer Portal Manager Portal Manager is a web-based, add-on module to LearningServer that allows organizations to create multiple LearningServer web sites. Each site services different

More information

Terms and Definitions for CMS Administrators, Architects, and Developers

Terms and Definitions for CMS Administrators, Architects, and Developers Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page

More information

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013 Definition of in a nutshell June, the 4 th 2013 Definition of Definition of Just another definition So what is it now? Example CGI php comparison log-file Definition of a formal definition Aisaprogramthat,usingthe

More information

TS: Microsoft.NET Framework 3.5, ASP.NET Application Development

TS: Microsoft.NET Framework 3.5, ASP.NET Application Development Exam : 70-562 Title : TS: Microsoft.NET Framework 3.5, ASP.NET Application Development Version : Demo 1 / 14 1.You create a Microsoft ASP.NET application by using the Microsoft.NET Framework version 3.5.

More information

The HTTP Plug-in. Table of contents

The HTTP Plug-in. Table of contents Table of contents 1 What's it for?... 2 2 Controlling the HTTPPlugin... 2 2.1 Levels of Control... 2 2.2 Importing the HTTPPluginControl...3 2.3 Setting HTTPClient Authorization Module... 3 2.4 Setting

More information

Microsoft.Realtests.98-363.v2014-08-23.by.ERICA.50q

Microsoft.Realtests.98-363.v2014-08-23.by.ERICA.50q Microsoft.Realtests.98-363.v2014-08-23.by.ERICA.50q Number: 98-363 Passing Score: 800 Time Limit: 120 min File Version: 26.5 MICROSOFT 98-363 EXAM QUESTIONS & ANSWERS Exam Name: Web Development Fundamentals

More information

Click Studios. Passwordstate. Installation Instructions

Click Studios. Passwordstate. Installation Instructions Passwordstate Installation Instructions This document and the information controlled therein is the property of Click Studios. It must not be reproduced in whole/part, or otherwise disclosed, without prior

More information

The Hyper-Text Transfer Protocol (HTTP)

The Hyper-Text Transfer Protocol (HTTP) The Hyper-Text Transfer Protocol (HTTP) Antonio Carzaniga Faculty of Informatics University of Lugano October 4, 2011 2005 2007 Antonio Carzaniga 1 HTTP message formats Outline HTTP methods Status codes

More information

Novi Survey Installation & Upgrade Guide

Novi Survey Installation & Upgrade Guide Novi Survey Installation & Upgrade Guide Introduction This procedure documents the step to create a new install of Novi Survey and to upgrade an existing install of Novi Survey. By installing or upgrading

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, inemedi@ie.ase.ro Writing a custom web

More information

PHP COOKIES, SESSIONS,

PHP COOKIES, SESSIONS, PHP COOKIES, SESSIONS, AND SESSION VARIABLES Fall 2009 CSCI 2910 Server Side Web Programming Objectives Understand and use Cookies in PHP scripts. Understand and use Sessions and Session variables in PHP

More information

Description of Microsoft Internet Information Services (IIS) 5.0 and

Description of Microsoft Internet Information Services (IIS) 5.0 and Page 1 of 10 Article ID: 318380 - Last Review: July 7, 2008 - Revision: 8.1 Description of Microsoft Internet Information Services (IIS) 5.0 and 6.0 status codes This article was previously published under

More information

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Installation and Upgrade Guide for Primavera Portfolio Management 8.0 Copyright 1999-2010, Oracle and/or its affiliates. The Programs (which include both the software and documentation) contain proprietary

More information

Database Communica/on in Visual Studio/C# using Web Services. Hans- Pe=er Halvorsen, M.Sc.

Database Communica/on in Visual Studio/C# using Web Services. Hans- Pe=er Halvorsen, M.Sc. Database Communica/on in Visual Studio/C# using Web Services Hans- Pe=er Halvorsen, M.Sc. Background We will use Web Services because we assume that the the App should be used on Internet outside the Firewall).

More information

Perceptive Intelligent Capture Solution Configration Manager

Perceptive Intelligent Capture Solution Configration Manager Perceptive Intelligent Capture Solution Configration Manager Installation and Setup Guide Version: 1.0.x Written by: Product Knowledge, R&D Date: February 2016 2015 Lexmark International Technology, S.A.

More information

Advantage for Windows Copyright 2012 by The Advantage Software Company, Inc. All rights reserved. Client Portal blue Installation Guide v1.

Advantage for Windows Copyright 2012 by The Advantage Software Company, Inc. All rights reserved. Client Portal blue Installation Guide v1. Advantage for Windows Copyright 2012 by The Advantage Software Company, Inc. All rights reserved Client Portal blue Installation Guide v1.1 Overview This document will walk you through the process of installing

More information

Load Balancing BEA WebLogic Servers with F5 Networks BIG-IP v9

Load Balancing BEA WebLogic Servers with F5 Networks BIG-IP v9 Load Balancing BEA WebLogic Servers with F5 Networks BIG-IP v9 Introducing BIG-IP load balancing for BEA WebLogic Server Configuring the BIG-IP for load balancing WebLogic Servers Introducing BIG-IP load

More information

Web Application Security Considerations

Web Application Security Considerations Web Application Security Considerations Eric Peele, Kevin Gainey International Field Directors & Technology Conference 2006 May 21 24, 2006 RTI International is a trade name of Research Triangle Institute

More information

Administering Jive for Outlook

Administering Jive for Outlook Administering Jive for Outlook TOC 2 Contents Administering Jive for Outlook...3 System Requirements...3 Installing the Plugin... 3 Installing the Plugin... 3 Client Installation... 4 Resetting the Binaries...4

More information

Configuring Claims Based FBA with Active Directory store 1

Configuring Claims Based FBA with Active Directory store 1 Configuring Claims Based FBA with Active Directory store 1 Create a new web application in claims based authentication mode 1. From Central Administration, Select Manage Web Applications and then create

More information

Contents Release Notes... ... 3 System Requirements... ... 4 Administering Jive for Office... ... 5

Contents Release Notes... ... 3 System Requirements... ... 4 Administering Jive for Office... ... 5 Jive for Office TOC 2 Contents Release Notes...3 System Requirements... 4 Administering Jive for Office... 5 Getting Set Up...5 Installing the Extended API JAR File... 5 Updating Client Binaries...5 Client

More information

HTTP 1.1 Web Server and Client

HTTP 1.1 Web Server and Client HTTP 1.1 Web Server and Client Finding Feature Information HTTP 1.1 Web Server and Client Last Updated: August 17, 2011 The HTTP 1.1 Web Server and Client feature provides a consistent interface for users

More information

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5 DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Microsoft IIS Prerequisites and configuration

More information

Configuring and Testing Caching and Other Performance Options in Microsoft SharePoint Technologies

Configuring and Testing Caching and Other Performance Options in Microsoft SharePoint Technologies Configuring and Testing Caching and Other Performance Options in Microsoft SharePoint Technologies Module Overview The Out of the Box Experience Resources and Tools for Testing IIS Compression Output Caching

More information

Capturx for SharePoint 2.0: Notification Workflows

Capturx for SharePoint 2.0: Notification Workflows Capturx for SharePoint 2.0: Notification Workflows 1. Introduction The Capturx for SharePoint Notification Workflow enables customers to be notified whenever items are created or modified on a Capturx

More information

PUTTING THE PIECES OF.NET TOGETHER. Wade Harvey 8/25/2010

PUTTING THE PIECES OF.NET TOGETHER. Wade Harvey 8/25/2010 PUTTING THE PIECES OF.NET TOGETHER Wade Harvey 8/25/2010 Welcome What are the obstacles? 1. There are a lot of pieces 2. The pieces are scattered out in many different places on the computer 3. Lots of

More information

Engagement Analytics Configuration Reference Guide

Engagement Analytics Configuration Reference Guide Engagement Analytics Configuration Reference Guide Rev: 17 June 2013 Sitecore CMS & DMS 6.6 or later Engagement Analytics Configuration Reference Guide A conceptual overview for developers and administrators

More information

A Java proxy for MS SQL Server Reporting Services

A Java proxy for MS SQL Server Reporting Services 1 of 5 1/10/2005 9:37 PM Advertisement: Support JavaWorld, click here! January 2005 HOME FEATURED TUTORIALS COLUMNS NEWS & REVIEWS FORUM JW RESOURCES ABOUT JW A Java proxy for MS SQL Server Reporting Services

More information

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010 DEPLOYMENT GUIDE Version 2.1 Deploying F5 with Microsoft SharePoint 2010 Table of Contents Table of Contents Introducing the F5 Deployment Guide for Microsoft SharePoint 2010 Prerequisites and configuration

More information

Jim2 ebusiness Framework Installation Notes

Jim2 ebusiness Framework Installation Notes Jim2 ebusiness Framework Installation Notes Summary These notes provide details on installing the Happen Business Jim2 ebusiness Framework. This includes ebusiness Service and emeter Reads. Jim2 ebusiness

More information

COMP 112 Assignment 1: HTTP Servers

COMP 112 Assignment 1: HTTP Servers COMP 112 Assignment 1: HTTP Servers Lead TA: Jim Mao Based on an assignment from Alva Couch Tufts University Due 11:59 PM September 24, 2015 Introduction In this assignment, you will write a web server

More information

Click Studios. Passwordstate. Upgrade Instructions to V7 from V5.xx

Click Studios. Passwordstate. Upgrade Instructions to V7 from V5.xx Passwordstate Upgrade Instructions to V7 from V5.xx This document and the information controlled therein is the property of Click Studios. It must not be reproduced in whole/part, or otherwise disclosed,

More information

DEERFIELD.COM. DNS2Go Update API. DNS2Go Update API

DEERFIELD.COM. DNS2Go Update API. DNS2Go Update API DEERFIELD.COM DNS2Go Update API DNS2Go Update API DEERFIELD.COM PRODUCT DOCUMENTATION DNS2Go Update API Deerfield.com 4241 Old U.S. 27 South Gaylord, MI 49686 Phone 989.732.8856 Email sales@deerfield.com

More information

HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common

More information

7 Why Use Perl for CGI?

7 Why Use Perl for CGI? 7 Why Use Perl for CGI? Perl is the de facto standard for CGI programming for a number of reasons, but perhaps the most important are: Socket Support: Perl makes it easy to create programs that interface

More information

Getting Started with Telerik Data Access. Contents

Getting Started with Telerik Data Access. Contents Contents Overview... 3 Product Installation... 3 Building a Domain Model... 5 Database-First (Reverse) Mapping... 5 Creating the Project... 6 Creating Entities From the Database Schema... 7 Model-First

More information