United States Patent Application20030167355
Kind CodeA1
Smith, Adam W. ; et al.September 4, 2003

Application program interface for network software platform
Abstract
An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NET.TM. platform.

Inventors:Smith; Adam W. (Redmond, WA), Moore; Anthony J.  (Seattle, WA), Ebbo; David S.  (Redmond, WA), Christensen; Erik B.  (Seattle, WA), Olson; Erik B.  (Sammamish, WA), Yeon; Fabio A.  (Mill Creek, WA), Rajan; Jayanth V.  (Bellevue, WA), Ballinger; Keith W.  (North Bend, WA), Vasandani; Manu  (Bellevue, WA), Anders; Mark T.  (Bellevue, WA), Boulter; Mark A.  (Redmond, WA), Kothari; Nikhil  (Sammamish, WA), Howard; Robert M.  (Snoqualmie, WA), Guthrie; Scott D.  (Bellevue, WA), Millet; Stephen J.  (Edmonds, WA), Pharies; Stefan H.  (Seattle, WA), Cook; Suzanna M.  (Redmond, WA), Warren; Susan M.  (Carnation, WA), Christensen; Yann E.  (Seattle, WA)
Correspondence Name and Address:421 W RIVERSIDE AVENUE SUITE 500
LEE & HAYES PLLC
SPOKANE
WA
99201

Series Code:902809
Filed:July 10, 2001
U.S. Current Class:709/328
U.S. Class at Publication:709/328
Intern'l Class:G06F 009/00

Claims


1. An application program interface embodied on one or more computer readable media, comprising: a first class to provide information regarding a current HTTP request; a second class to manage HTTP output to a client; and an object to provide access to server-side utilities and processes.

2. An application program interface as recited in claim 1, further comprising a third class to manipulate at least one cookie.

3. An application program interface as recited in claim 1, further comprising a fourth class to handle file transfers.

4. An application program interface as recited in claim 1, further comprising a fifth class to provide exception information.

5. An application program interface as recited in claim 1, further comprising a sixth class to control operation of an output cache.

6. An application program interface as recited in claim 1, further comprising a set of classes that enable building and using web services.

7. An application program interface as recited in claim 1, further comprising a web service class to define a base class for web services.

8. An application program interface as recited in claim 1, further comprising a web method attribute class to programmatically expose a method over the web.

9. An application program interface as recited in claim 1, further comprising HTML controls that allow a user to create HTML server controls on a web page.

10. An application program interface as recited in claim 9, wherein the HTML server controls are executed on a server and map to standard HTML tags.

11. An application program interface as recited in claim 1, further comprising web controls that allow a user to create web server controls on a web page.

12. An application program interface as recited in claim 11, wherein the web controls are executed on a web server and include form controls.

13. An application program interface as recited in claim 1, further comprising a set of classes that allow a user to create controls and pages that represent a user interface on a web page.

14. A network software architecture comprising the application program interface as recited in claim 1.

15. An application program interface embodied on one or more computer readable media, comprising: a first group of services related to information associated with a current HTTP request; a second group of services related to managing HTTP output to a client; a third group of services related to accessing server-side utilities; and a fourth group of services related to creating web services.

16. An application program interface as recited in claim 15, wherein the fourth group of services includes: a web service class that defines a base class for web services; and a web method attribute class that allows a user to programmatically expose a method over the web.

17. An application program interface as recited in claim 15, further comprising a fifth group of services that provide for the creation of a user interface on a web page.

18. An application program interface as recited in claim 15, further comprising a set of classes that allow a user to create server controls on a web page.

19. An application program interface as recited in claim 15, further comprising a set of classes that allow a user to create HTML server controls on a web page.

20. An application program interface as recited in claim 15, further comprising a set of classes that allow a user to create web server controls on a web page.

21. A network software architecture comprising the application program interface as recited in claim 15.

22. A method comprising: creating an HTTP request class to provide information regarding a current HTTP request; creating an HTTP response class to manage HTTP output to a client; and creating an HTTP server utility object to provide access to server-side utilities.

23. A method as recited in claim 22, further comprising creating a class to manipulate cookies.

24. An application program interface as recited in claim 22, further comprising creating a class to handle file transfers.

25. An application program interface as recited in claim 22, further comprising creating web service classes to enable the building and use of web services.

26. An application program interface as recited in claim 22, further comprising creating control classes to enable the creation of HTML server controls and web server controls.

27. A computer system including one or more microprocessors and one or more software programs, the one or more software programs utilizing an application program interface to request services from an operating system, the application program interface including separate commands to request services consisting of the following groups of services: a first group of services related to information regarding a current HTTP request; a second group of services related to managing HTTP output to a client; a third group of services related to providing access to server-side utilities; and a fourth group of services related to creating web services.

28. A method comprising: calling one or more first functions to facilitate providing information related to a current HTTP request; calling one or more second functions to facilitate managing HTTP output to a client; calling one or more third functions to facilitate access to server-side utilities and processes; and calling one or more fourth functions to facilitate creating a user interface on a web page.

29. A method as recited in claim 28, further including calling one or more fifth functions to facilitate building and using web services.

30. A method as recited in claim 28, further including calling one or more sixth functions to facilitate creating server controls on a web page.

31. A method as recited in claim 28, further including calling one or more seventh functions to facilitate programmatically exposing a method over the web.

Description



TECHNICAL FIELD

[0001] This invention relates to network software, such as Web applications, and to computer software development of such network software. More particularly, this invention relates to an application program interface (API) that facilitates use of a network software platform by application programs and computer hardware.

BACKGROUND

[0002] Very early on, computer software came to be categorized as "operating system" software or "application" software. Broadly speaking, an application is software meant to perform a specific task for the computer user such as solving a mathematical equation or supporting word processing. The operating system is the software that manages and controls the computer hardware. The goal of the operating system is to make the computer resources available to the application programmer while at the same time, hiding the complexity necessary to actually control the hardware.

[0003] The operating system makes the resources available via functions that are collectively known as the Application Program Interface or API. The term API is also used in reference to a single one of these functions. The functions are often grouped in terms of what resource or service they provide to the application programmer. Application software requests resources by calling individual API functions. API functions also serve as the means by which messages and information provided by the operating system are relayed back to the application software.

[0004] In addition to changes in hardware, another factor driving the evolution of operating system software has been the desire to simplify and speed application software development. Application software development can be a daunting task, sometimes requiring years of developer time to create a sophisticated program with millions of lines of code. For a popular operating system such as Microsoft Windows.RTM., application software developers write thousands of different applications each year that utilize the operating system. A coherent and usable operating system base is required to support so many diverse application developers.

[0005] Often, development of application software can be made simpler by making the operating system more complex. That is, if a function may be useful to several different application programs, it may be better to write it once for inclusion in the operating system, than requiring dozens of software developers to write it dozens of times for inclusion in dozens of different applications. In this manner, if the operating system supports a wide range of common functionality required by a number of applications, significant savings in applications software development costs and time can be achieved.

[0006] Regardless of where the line between operating system and application software is drawn, it is clear that for a useful operating system, the API between the operating system and the computer hardware and application software is as important as efficient internal operation of the operating system itself.

[0007] Over the past few years, the universal adoption of the Internet, and networking technology in general, has changed the landscape for computer software developers. Traditionally, software developers focused on single-site software applications for standalone desktop computers, or LAN-based computers that were connected to a limited number of other computers via a local area network (LAN). Such software applications were typically referred to as "shrink wrapped" products because the software was marketed and sold in a shrink2 wrapped package. The applications utilized well-defined APIs to access the underlying operating system of the computer.

[0008] As the Internet evolved and gained widespread acceptance, the industry began to recognize the power of hosting applications at various sites on the World Wide Web (or simply the "Web"). In the networked world, clients from anywhere could submit requests to server-based applications hosted at diverse locations and receive responses back in fractions of a second. These Web applications, however, were typically developed using the same operating system platform that was originally developed for standalone computing machines or locally networked computers. Unfortunately, in some instances, these applications do not adequately transfer to the distributed computing regime. The underlying platform was simply not constructed with the idea of supporting limitless numbers of interconnected computers.

[0009] To accommodate the shift to the distributed computing environment being ushered in by the Internet, Microsoft Corporation is developing a network software platform known as the ".NET" platform (read as "Dot Net"). The platform allows developers to create Web services that will execute over the Internet. Such a dynamic shift requires a new ground-up design of an entirely new API.

[0010] In response to this challenge, the inventors developed a unique set of API functions for Microsoft's .NET.TM. platform.

SUMMARY

[0011] An application program interface (API) provides a set of functions for application developers who build Web applications on a network platform, such as Microsoft Corporation's .NET.TM. platform.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The same numbers are used throughout the drawings to reference like features.

[0013] FIG. 1 illustrates a network architecture in which clients access Web services over the Internet using conventional protocols.

[0014] FIG. 2 is a block diagram of a software architecture for Microsoft's .NET.TM. platform, which includes an application program interface (API).

[0015] FIG. 3 is a block diagram of unique namespaces supported by the API, as well as function classes of the various API functions.

[0016] FIG. 4 is a block diagram of an exemplary computer that may execute all or part of the software architecture.

BRIEF DESCRIPTION OF ACCOMPANYING COMPACT DISC

[0017] Accompanying this specification is a compact disc that stores a compiled HTML help file identifying the API (application program interface) for Microsoft's .NET.TM. network platform. The file is named "cpref.chm" and was created on Jun. 8, 2001. It is 30.81 Mbytes in size. The file can be executed on a Windows.RTM.-based computing device (e.g., IBM-PC, or equivalent) that executes a Windows.RTM.-brand operating system (e.g., Windows.RTM. NT, Windows.RTM. 98, Windows.RTM. 2000, etc.). The compiled HTML help file stored on the compact disk is hereby incorporated by reference.

[0018] Additionally, the APIs contained in the compiled HTML help file are also provided in approximately 100 separate text files named "NamespaceName.txt". The text files comply with the ASCII format.

[0019] The compact disc itself is a CD-ROM, and conforms to the ISO 9660
standard.

DETAILED DESCRIPTION

[0020] This disclosure addresses an application program interface (API) for a network platform upon which developers can build Web applications and services. More particularly, an exemplary API is described for the .NET.TM. platform created by Microsoft Corporation. The .NET.TM. platform is a software platform for Web services and Web applications implemented in the distributed computing environment. It represents the next generation of Internet computing, using open communication standards to communicate among loosely coupled Web services that are collaborating to perform a particular task.

[0021] In the described implementation, the .NET.TM. platform utilizes XML (extensible markup language), an open standard for describing data. XML is managed by the World Wide Web Consortium (W3C). XML is used for defining data elements on a Web page and business-to-business documents. XML uses a similar tag structure as HTML; however, whereas HTML defines how elements are displayed, XML defines what those elements contain. HTML uses predefined tags, but XML allows tags to be defined by the developer of the page. Thus, virtually any data items can be identified, allowing Web pages to function like database records. Through the use of XML and other open protocols, such as Simple Object Access Protocol (SOAP), the .NET.TM. platform allows integration of a wide range of services that can be tailored to the needs of the user. Although the embodiments described herein are described in conjunction with XML and other open standards, such are not required for the operation of the claimed invention. Other equally viable technologies will suffice to implement the inventions described herein.

[0022] As used herein, the phrase application program interface or API includes traditional interfaces that employ method or function calls, as well as remote calls (e.g., a proxy, stub relationship) and SOAP/XML invocations.

[0023] Exemplary Network Environment

[0024] FIG. 1 shows a network environment 100 in which a network platform, such as the .NET.TM. platform, may be implemented. The network environment 100 includes representative Web services 102(1), . . . , 102(N), which provide services that can be accessed over a network 104
(e.g., Internet). The Web services, referenced generally as number 102, are programmable application components that are reusable and interact programmatically over the network 104, typically through industry standard Web protocols, such as XML, SOAP, WAP (wireless application protocol), HTTP (hypertext transport protocol), and SMTP (simple mail transfer protocol) although other means of interacting with the Web services over the network may also be used, such as Remote Procedure Call (RPC) or object broker type technology. A Web service can be self-describing and is often defined in terms of formats and ordering of messages.

[0025] Web services 102 are accessible directly by other services (as represented by communication link 106) or a software application, such as Web application (as represented by communication links 112 and 114). Each Web service 102 is illustrated as including one or more servers that execute software to handle requests for particular services. Such services often maintain databases that store information to be served back to requesters. Web services may be configured to perform any one of a variety of different services. Examples of Web services include login verification, notification, database storage, stock quoting, location directories, mapping, music, electronic wallet, calendar/scheduler, telephone listings, news and information, games, ticketing, and so on. The Web services can be combined with each other and with other applications to build intelligent interactive experiences.

[0026] The network environment 100 also includes representative client devices 120(1), 120(2), 120(3), 120(4), . . . , 120(M) that utilize the Web services 102 (as represented by communication link 122) and/or the Web application 110 (as represented by communication links 124, 126, and 128). The clients may communicate with one another using standard protocols as well, as represented by an exemplary XML link 130 between clients 120(3) and 120(4).

[0027] The client devices, referenced generally as number 120, can be implemented many different ways. Examples of possible client implementations include, without limitation, portable computers, stationary computers, tablet PCs, televisions/set-top boxes, wireless communication devices, personal digital assistants, gaming consoles, printers, photocopiers, and other smart devices.

[0028] The Web application 110 is an application designed to run on the network platform and may utilize the Web services 102 when handling and servicing requests from clients 120. The Web application 110 is composed of one or more software applications 130 that run atop a programming framework 132, which are executing on one or more servers 134 or other computer systems. Note that a portion of Web application 110 may actually reside on one or more of clients 120. Alternatively, Web application 110
may coordinate with other software on clients 120 to actually accomplish its tasks.

[0029] The programming framework 132 is the structure that supports the applications and services developed by application developers. It permits multi-language development and seamless integration by supporting multiple languages. It supports open protocols, such as SOAP, and encapsulates the underlying operating system and object model services. The framework provides a robust and secure execution environment for the multiple programming languages and offers secure, integrated class libraries.

[0030] The framework 132 is a multi-tiered architecture that includes an application program interface (API) layer 142, a common language runtime (CLR) layer 144, and an operating system/services layer 146. This layered architecture allows updates and modifications to various layers without impacting other portions of the framework. A common language specification (CLS) 140 allows designers of various languages to write code that is able to access underlying library functionality. The specification 140 functions as a contract between language designers and library designers that can be used to promote language interoperability. By adhering to the CLS, libraries written in one language can be directly accessible to code modules written in other languages to achieve seamless integration between code modules written in one language and code modules written in another language. One exemplary detailed implementation of a CLS is described in an ECMA standard created by participants in ECMA TC39/TG3. The reader is directed to the ECMA web site at www.ecma.ch.

[0031] The API layer 142 presents groups of functions that the applications 130 can call to access the resources and services provided by layer 146. By exposing the API functions for a network platform, application developers can create Web applications for distributed computing systems that make full use of the network resources and other Web services, without needing to understand the complex interworkings of how those network resources actually operate or are made available. Moreover, the Web applications can be written in any number of programming languages, and translated into an intermediate language supported by the common language runtime 144 and included as part of the common language specification 140. In this way, the API layer 142 can provide methods for a wide and diverse variety of applications.

[0032] Additionally, the framework 132 can be configured to support API calls placed by remote applications executing remotely from the servers 134 that host the framework. Representative applications 148(1) and 148(2) residing on clients 120(3) and 120(M), respectively, can use the API functions by making calls directly, or indirectly, to the API layer 142 over the network 104.

[0033] The framework may also be implemented at the clients. Client 120(3) represents the situation where a framework 150 is implemented at the client. This framework may be identical to server-based framework 132, or modified for client purposes. Alternatively, the client-based framework may be condensed in the event that the client is a limited or dedicated function device, such as a cellular phone, personal digital assistant, handheld computer, or other communication/computing device.

[0034] Developers' Programming Framework

[0035] FIG. 2 shows the programming framework 132 in more detail. The common language specification (CLS) layer 140 supports applications written in a variety of languages 130(1), 130(2), 130(3), 130(4), . . . 130(K). Such application languages include Visual Basic, C++, C#, COBOL, Jscript, Perl, Eiffel, Python, and so on. The common language specification 140 specifies a subset of features or rules about features that, if followed, allow the various languages to communicate. For example, some languages do not support a given type (e.g., an "int*" type) that might otherwise be supported by the common language runtime 144. In this case, the common language specification 140 does not include the type. On the other hand, types that are supported by all or most languages (e.g., the "int[ ]" type) is included in common language specification 140 so library developers are free to use it and are assured that the languages can handle it. This Is ability to communicate results in seamless integration between code modules written in one language and code modules written in another language. Since different languages are particularly well suited to particular tasks, the seamless integration between languages allows a developer to select a particular language for a particular code module with the ability to use that code module with modules written in different languages. The common language runtime 144 allow seamless multi-language development, with cross language inheritance, and provide a robust and secure execution environment for the multiple programming languages. For more information on the common language specification 140 and the common language runtime 144, the reader is directed to co-pending applications entitled "Method and System for Compiling Multiple Languages", filed Jun. 21, 2000 (Ser. No. 09/598,105) and "Unified Data Type System and Method" filed Jul. 10, 2000 (Ser. No. 09/613,289), which are incorporated by reference.

[0036] The framework 132 encapsulates the operating system 146(1) (e.g., Windows.RTM.-brand operating systems) and object model services 146(2) (e.g., Component Object Model (COM) or Distributed COM). The operating system 146(1) provides conventional functions, such as file management, notification, event handling, user interfaces (e.g., windowing, menus, dialogs, etc.), security, authentication, verification, processes and threads, memory management, and so on. The object model services 146(2) provide interfacing with other objects to perform various tasks. Calls made to the API layer 142 are handed to the common language runtime layer 144 for local execution by the operating system 146(1) and/or object model services 146(2).

[0037] The API 142 groups API functions into multiple namespaces. Namespaces essentially define a collection of classes, interfaces, delegates, enumerations, and structures, which are collectively called "types", that provide a specific set of related functionality. A class represents managed heap allocated data that has reference assignment semantics. A delegate is an object oriented function pointer. An enumeration is a special kind of value type that represents named constants. A structure represents static allocated data that has value assignment semantics. An interface defines a contract that other types can implement.

[0038] By using namespaces, a designer can organize a set of types into a hierarchical namespace. The designer is able to create multiple groups from the set of types, with each group containing at least one type that exposes logically related functionality. In the exemplary implementation, the API 142 is organized into four root namespaces: a first namespace 200
for Web applications, a second namespace 202 for client applications, a third namespace 204 for data and XML, and a fourth namespace 206 for base class libraries (BCLs). Each group can then be assigned a name. For instance, types in the Web applications namespace 200 are assigned the name "Web", and types in the data and XML namespace 204 can be assigned names "Data" and "XML" respectively. The named groups can be organized under a single "global root" namespace for system level APIs, such as an overall System namespace. By selecting and prefixing a top level identifier, the types in each group can be easily referenced by a hierarchical name that includes the selected top level identifier prefixed to the name of the group containing the type. For instance, types in the Web applications namespace 200 can be referenced using the hierarchical name "System.Web". In this way, the individual namespaces 200, 202, 204, and 206 become major branches off of the System namespace and can carry a designation where the individual namespaces are prefixed with a designator, such as a "System." prefix.

[0039] The Web applications namespace 200 pertains to Web based functionality, such as dynamically generated Web pages (e.g., Microsoft's Active Server Pages (ASP)). It supplies types that enable browser/server communication. The client applications namespace 202 pertains to drawing and client side UI functionality. It supplies types that enable drawing of two-dimensional (2D), imaging, and printing, as well as the ability to construct window forms, menus, boxes, and so on.

[0040] The data and XML namespace 204 relates to connectivity to data sources and XML functionality. It supplies classes, interfaces, delegates, and enumerations that enable security, specify data types, and serialize objects into XML format documents or streams. The base class libraries (BCL) namespace 206 pertains to basic system and runtime functionality. It contains the fundamental types and base classes that define commonly-used value and reference data types, events and event handlers, interfaces, attributes, and processing exceptions.

[0041] In addition to the framework 132, programming tools 210 are provided to assist the developer in building Web services and/or applications. One example of the programming tools 200 is Visual Studio.TM., a multi-language suite of programming tools offered by Microsoft Corporation.

[0042] Root API Namespaces

[0043] FIG. 3 shows the API 142 and its four root namespaces in more detail. In one embodiment, the namespaces are identified according to a hierarchical naming convention in which strings of names are concatenated with periods. For instance, the Web applications namespace 200 is identified by the root name "System.Web". Within the "Sytem.Web" namespace is another namespace for Web services, identified as "System.Web.Services", which further identifies another namespace for a description known as "System.Web.Services.Description". With this naming convention in mind, the following provides a general overview of selected namespaces of the API 142, although other naming conventions could be used with equal effect.

[0044] The Web applications namespace 200 ("System.Web") defines additional namespaces, including:

[0045] A services namespace 300 ("System.Web.Services") containing classes that enable a developer to build and use Web services. The services namespace 300 defines additional namespaces, including a description namespace 302 ("System.Web. Services.Description") containing classes that enable a developer to publicly describe a Web service via a service description language (such as WSDL, a specification available from the W3C), a discovery namespace 304 ("System.Web. Services.Discovery") containing classes that allow Web service consumers to locate available Web Services on a Web server, and a protocols namespace 306 ("System.Web. Services.Protocols") containing classes that define the protocols used to transmit data across a network during communication between Web service clients and the Web service itself.

[0046] A caching namespace 308 ("System.Web.Caching") containing classes that enable developers to decrease Web application response time through temporarily caching frequently used resources on the server. This includes ASP.NET pages, web services, and user controls. (ASP.NBT is the updated version of Microsoft's ASP technology.) Additionally, a cache dictionary is available for developers to store frequently used resources, such as hash tables and other data structures.

[0047] A configuration namespace 310 ("System.Web.Configuration") containing classes that are used to read configuration data in for an application.

[0048] A UI namespace 312 ("System.Web.UI") containing types that allow developers to create controls and pages that will appear in Web applications as user interfaces on a Web page. This namespace includes the control class, which provides all web based controls, whether those encapsulating HTML elements, higher level Web controls, or even custom User controls, with a common set of functionality. Also provided are classes which provide the web forms server controls data binding functionality, the ability to save the view state of a given control or page, as well as parsing functionality for both programmable and literal controls. Within the UI namespace 312 are two additional namespaces: an HTML controls namespace 314 ("System.Web.UI.HtmlControls") containing classes that permit developers to interact with types that encapsulates html 3.2 elemtents create HTML controls, and a Web controls namespace 316
("System.Web.UI.WeblControls") containing classes that allow developers to create higher level Web controls.

[0049] A security namespace 318 ("System.Web.Security") containing classes used to implement security in web server applications, such as basic authentication, challenge response authentication, and role based authentication.

[0050] A session state namespace 320 ("System.Web.SessionState") containing classes used to access session state values (i.e., data that lives across requests for the lifetime of the session) as well as session-level settings and lifetime management methods.

[0051] The client applications namespace 202 is composed of two namespaces:

[0052] A windows forms namespace 322 ("System.Windows.Forms") containing classes for creating Windows.RTM.-based client applications that take full advantage of the rich user interface features available in the Microsoft Windows.RTM. operating system, such as the ability to drag and drop screen elements. Such classes may include wrapped APIs available in the Microsoft Windows.RTM. operating system that are used in a windowing UI environment. Within this namespace are a design namespace 324
("System.Windows.Forms.Design") that contains classes to extend design-time support for Windows forms and a component model namespace 326
("System.Windows.Forms.ComponentModel") that contains the windows form implementation of the general component model defined in System.ComponentModel. This namespace contains designer tools, such as Visual Studio, which offer a rich experience for developers at design time.

[0053] A drawing namespace 328 ("System.Drawing") containing classes for graphics functionality. The drawing namespace 328 includes a 2D drawing namespace 330 ("System.Drawing.Drawing2D") that contains classes and enumerations to provide advanced 2-dimmensional and vector graphics functionality, an imaging namespace 332 ("System.Drawing.Imaging") that contains classes for advanced imaging functionality, a printing namespace 334 ("System.Drawing.Printing") that contains classes to permit developers to customize printing, and a text namespace 336
("System.Drawing.Text") that contains classes for advanced typography functionality.

[0054] The data and XML namespace 204 is composed of two namespaces:

[0055] A data namespace 340 ("System.Data") containing classes that enable developers to build components that efficiently manage data from multiple data sources. It implements an architecture that, in a disconnected scenario (such as the Internet), provides tools to request, update, and reconcile data in multiple tier systems. The data namespace 340 includes a common namespace 342 that contains types shared by data providers. A data provider describes a collection of types used to access a data source, such as a database, in the managed space. The data namespace 340
also includes an OLE DB namespace 344 that contains types pertaining to data used in object-oriented databases (e.g., Microsoft's SQL Server), and a SQL client namespace 346 that contains types pertaining to data used by SQL clients. The data namespace also includes a SQL types namespace 348 ("System.Data.SqlTypes") that contains classes for native data types within Microsoft's SQL Server. The classes provide a safer, faster alternative to other data types. Using the objects within this namespace helps prevent type conversion errors caused in situations where loss of precision could occur. Because other data types are converted to and from SQL types behind the scenes, explicitly creating and using objects within this namespace results in faster code as well.

[0056] An XML namespace 350 ("System.XML") containing classes that provide standards-based support for processing XML. The supported standards include XML (e.g., version 1.0), XML Namespaces (both stream level and DOM), XML Schemas, XPath expressions, XSL/T transformations, DOM Level 2
Core, and SOAP (e.g., version 1.1). The XML namespace 350 includes an XSLT namespace 352 ("System.XML.Xsl") that contains classes and enumerations to support XSLT (Extensible Stylesheet Language Transformations), an Xpath namespace 354 ("System.XML.Xpath") that contains an XPath parser and evaluation engine, and a serialization namespace 356 ("System.XML.Serialization") that contains classes used to serialize objects into XML format documents or streams.

[0057] The base class library namespace 206 ("System") includes the following namespaces:

[0058] A collections namespace 360 ("System.Collections") containing interfaces and classes that define various collections of objects, such as lists, queues, arrays, hash tables and dictionaries.

[0059] A configuration namespace 362 ("System.Configuration") containing classes and interfaces that allow developers to programmatically access configuration settings and handle errors in configuration files.

[0060] A diagnostics namespace 364 ("System.Diagnostics") containing classes that are used to debug applications and to trace code execution. The namespace allows developers to start system processes, read and write to event logs, and monitor system performance using performance counters.

[0061] A globalization namespace 366 ("System.Globalization") containing classes that define culture-related information, including the language, the country/region, the calendars in use, the format patterns for dates, currency and numbers, and the sort order for strings.

[0062] An I/O namespace 368 ("System.IO") containing the infrastructure pieces to operate with the intput/output of data streams, files, and directories. This namespace includes a model for working with streams of bytes, higher level readers and writers which consume those bytes, various constructions or implementations of the streams (e.g., FileStream and MemoryStream) and, a set of utility classes for working with files and directories.

[0063] A net namespace 370 ("System.Net") providing an extensive set of classes for building network-enabled application, referred to as the Net Class Libraries (NCL). One element to the design of the Net Class Libraries is an extensible, layered approach to exposing networking functionality. The NCL stack contains three basic layers. A base layer (System.Net.Socket) provides access to an interface to TCP/IP, the communications protocol of UNIX networks and the Internet. One example of such an interface is the "WinSock API" from Microsoft Corporation. The next layer is the Transport Protocol classes, which support such transport protocols as TCP and UDP. Developers may write their own protocol classes to provide support for protocols such as IGMP and ICMP. The third layer is the Web request, which provides an abstract factory pattern for the creation of other protocol classes. The NCL provides implementations for Hyper Text Transport Protocol (HTTP).

[0064] A reflection namespace ("System.Reflection") 372 containing types that provide a managed view of loaded types, methods, and fields, with the ability to dynamically create and invoke types.

[0065] A resources namespace 374 ("System.Resources") containing classes and interfaces that allow developers to create, store and manage various culture-specific resources used in an application.

[0066] A security namespace 376 ("System.Security") supporting the underlying structure of the security system, including interfaces, attributes, exceptions, and base classes for permissions.

[0067] A service process namespace 378 ("System.ServiceProcess") containing classes that allow developers to install and run services. Services are long-running executables that run without a user interface. They can be installed to run under a system account that enables them to be started at computer reboot. Services whose implementation is derived from processing in one class can define specific behavior for start, stop, pause, and continue commands, as well as behavior to take when the system shuts down.

[0068] A text namespace 380 ("System.Text") containing classes representing various types of encodings (e.g., ASCII, Unicode, UTF7, and UTF-8), abstract base classes for converting blocks of characters to and from blocks of bytes, and a helper class that manipulates and formats string objects without creating intermediate instances.

[0069] A threading namespace 382 ("System.Threading") containing classes and interfaces that enable multi-threaded programming. The threading namespace includes a ThreadPool class that manages groups of threads, a Timer class that enables a delegate to be called after a specified amount of time, and a Mutex class for synchronizing mutually-exclusive threads. This namespace also provides classes for thread scheduling, wait notification, and deadlock resolution.

[0070] A runtime namespace 384 ("System.Runtime") containing multiple namespaces concerning runtime features, including an interoperation services namespace 386 ("System.Runtime.InteropServices") that contains a collection of classes useful for accessing COM objects. The types in the InteropServices namespace fall into the following areas of functionality: attributes, exceptions, managed definitions of COM types, wrappers, type converters, and the Marshal class. The runtime namespace 384 further includes a remoting namespace 388 ("System.Runtime.Remoting") that contains classes and interfaces allowing developers to create and configure distributed applications. Another namespace within the runtime namespace 384 is a serialization namespace 390 ("System.Runtime.Serializa- tion") that contains classes used for serializing and deserializing objects. Serialization is the process of converting an object or a graph of objects into a linear sequence of bytes for either storage or transmission to another location.

[0071] The web applications namespace 200 ("System.Web") defines several additional namespaces, including the services namespace 300
("System.Web.Services"), a caching namespace 308 ("System.Web.Caching"), a configuration namespace 310 ("System.Web.Configuration"), a UI namespace 312 ("System.Web.UI"), a security namespace 318
("System.Web.Security"), and a session state namespace 320
("System.Web.SessionState"). In general, the web applications namespace 200 supplies tools that enable browser-server communication.

[0072] The services namespace 300 contains classes that allow developers to build and use various web services. The services namespace includes a web service class that defines a base class for web services and a web method attribute class that allows a method to be programmatically exposed over the web.

[0073] The UI namespace 312 contains classes that allow a user to create HTML server controls on a web page. These HTML server controls execute on the server and map to standard HTML tags. The UI namespace also contains classes that allow a user to create web server controls on a web page. These web server controls run on the web server and include form controls, such as buttons and text boxes.

[0074] The web applications namespace 200 also includes classes for manipulating cookies, transferring files, handling exception information, and controlling an output cache. Specific details regarding the System.Web namespace are provided below.

[0075] System.Web

[0076] Description

[0077] The System.Web namespace supplies classes and interfaces that enable browser/server communication. This namespace includes the HTTPRequest class that provides extensive information about the current HTTP request, the HTTPResponse class that manages HTTP output to the client, and the HTTPServerUtility object that provides access to server-side utilities and processes. System.Web also includes classes for cookie manipulation, file transfer, exception information, and output cache control.

[0078] BeginEventHandler delegate (System.Web)

[0079] Description

[0080] EndEventHandler delegate (System.Web)

[0081] Description

[0082] HttpWorkerRequest.EndOfendNotification delegate (System.Web)

[0083] Description

[0084] HttpApplication class (System.Web)

[0085] Description

[0086] Defines the methods, properties, and events common to all application objects within an ASP.NET application.

[0087] Constructors:

[0088] HttpApplication

[0089] Example Syntax:

[0090] [C#] public HttpApplication( );

[0091] [C++] public: HttpApplication( );

[0092] [VB] Public Sub New( )

[0093] [JScript] public function HttpApplication( );

[0094] Properties:

[0095] Application

[0096] [C#] public HttpApplicationState Application {get;}

[0097] [C++] public: _property HttpApplicationState* get_Application( );

[0098] [VB] Public ReadOnly Property Application As HttpApplicationState

[0099] [JScript] public function get Application( ) : HttpApplicationState;

[0100] Description

[0101] Gets a reference to an HTTPApplication state bag instance.

[0102] Context

[0103] [C#] public HttpContext Context {get;}

[0104] [C++] public: _property HttpContext* get_Context( );

[0105] [VB] Public ReadOnly Property Context As HttpContext

[0106] [JScript] public function get Context( ) : HttpContext;

[0107] Description

[0108] Gets the HTTPRuntime--provided context object that provides access to additional pipeline-module exposed objects.

[0109] Events

[0110] [C#] protected EventHandlerList Events {get;}

[0111] [C++] protected: _property EventHandlerList* get Events( );

[0112] [VB] Protected ReadOnly Property Events As EventHandlerList

[0113] [JScript] protected function get Events( ) : EventHandlerList;

[0114] Description

[0115] Modules

[0116] [C#] public HttpModuleCollection Modules {get;}

[0117] [C++] public: _property HttpModuleCollection* get_Modules( );

[0118] [VB] Public ReadOnly Property Modules As HttpModuleCollection

[0119] [JScript] public function get Modules( ) : HttpModuleCollection;

[0120] Description

[0121] Gets the collection of HTTPModules configured for the current application.

[0122] Request

[0123] [C#] public HttpRequest Request {get;}

[0124] [C++] public: _property HttpRequest* get_Request( );

[0125] [VB] Public ReadOnly Property Request As HttpRequest

[0126] [JScript] public function get Request( ) : HttpRequest;

[0127] Description

[0128] Gets the intrinsic object that provides access to incoming HttpRequest data.

[0129] Response

[0130] [C#] public HttpResponse Response {get;}

[0131] [C++] public: _property HttpResponse* get_Response( );

[0132] [VB] Public ReadOnly Property Response As HttpResponse

[0133] [JScript] public function get Response( ) : HttpResponse;

[0134] Description

[0135] The intrinsic object that allows transmission of HttpResponse data to a client.

[0136] Server

[0137] [C#] public HttpServerUtility Server {get;}

[0138] [C++] public: _property HttpServerUtility* get_Server( );

[0139] [VB] Public ReadOnly Property Server As HttpServerUtility

[0140] [JScript] public function get Server( ) : HttpServerUtility;

[0141] Description

[0142] Gets the intrinsic Server object.

[0143] Session

[0144] [C#] public HttpSessionState Session {get;}

[0145] [C++] public: _property HttpSessionState* get_Session( );

[0146] [VB] Public ReadOnly Property Session As HttpSessionState

[0147] [JScript] public function get Session( ) : HttpSessionState;

[0148] Description

[0149] Gets the intrinsic Session object that provides access to session data.

[0150] Site

[0151] [C#] public ISite Site {get; set;}

[0152] [C++] public: _property ISite* get_Site( );public: _property void set_Site(ISite*);

[0153] [VB] Public Property Site As ISite

[0154] [JScript] public function get Site( ) : ISite;public function set Site(ISite);

[0155] Description

[0156] User

[0157] [C#] public IPrincipal User {get;}

[0158] [C++] public: _property IPrincipal* get_User( );

[0159] [VB] Public ReadOnly Property User As IPrincipal

[0160] [JScript] public function get_User( ) : IPrincipal;

[0161] Description

[0162] Gets the User intrinsic object.

[0163] [C#] public event EventHandler AcquireRequestState;

[0164] [C++] public: _event EventHandler* AcquireRequestState;

[0165] [VB] Public Event AcquireRequestState As EventHandler

[0166] Description

[0167] [C#] public event EventHandler AuthenticateRequest;

[0168] [C++] public: _event EventHandler* AuthenticateRequest;

[0169] [VB] Public Event AuthenticateRequest As EventHandler

[0170] Description

[0171] [C#] public event EventHandler AuthorizeRequest;

[0172] [C++] public: _event EventHandler* AuthorizeRequest;

[0173] [VB] Public Event AuthorizeRequest As EventHandler

[0174] Description

[0175] [C#] public event EventHandler BeginRequest;

[0176] [C++] public: _event EventHandler* BeginRequest;

[0177] [VB] Public Event BeginRequest As EventHandler

[0178] Description

[0179] [C#] public event EventHandler Disposed;

[0180] [C++] public: _sealed _event EventHandler* Disposed;

[0181] [VB] NotOverridable Public Event Disposed As EventHandler

[0182] Description

[0183] [C#] public event EventHandler EndRequest;

[0184] [C++] public: _event EventHandler* EndRequest;

[0185] [VB] Public Event EndRequest As EventHandler

[0186] Description

[0187] [C#] public event EventHandler Error;

[0188] [C++] public: _event EventHandler* Error;

[0189] [VB] Public Event Error As EventHandler

[0190] Description

[0191] [C#] public event EventHandler PostRequestHandlerExecute;

[0192] [C++] public: _event EventHandler* PostRequestHandlerExecute;

[0193] [VB] Public Event PostRequestHandlerExecute As EventHandler

[0194] Description

[0195] [C#] public event EventHandler PreRequestHandlerExecute;

[0196] [C++] public: _event EventHandler* PreRequestHandlerExecute;

[0197] [VB] Public Event PreRequestHandlerExecute As EventHandler

[0198] Description

[0199] [C#] public event EventHandler PreSendRequestContent;

[0200] [C++] public: _event EventHandler* PreSendRequestContent;

[0201] [VB] Public Event PreSendRequestContent As EventHandler

[0202] Description

[0203] [C#] public event EventHandler PreSendRequestHeaders;

[0204] [C++] public: _event EventHandler* PreSendRequestHeaders;

[0205] [VB] Public Event PreSendRequestHeaders As EventHandler

[0206] Description

[0207] [C#] public event EventHandler ReleaseRequestState;

[0208] [C++] public: _event EventHandler* ReleaseRequestState;

[0209] [VB] Public Event ReleaseRequestState As EventHandler

[0210] Description

[0211] [C#] public event EventHandler ResolveRequestCache;

[0212] [C++] public: _event EventHandler* ResolveRequestCache;

[0213] [VB] Public Event ResolveRequestCache As EventHandler

[0214] Description

[0215] [C#] public event EventHandler UpdateRequestCache;

[0216] [C++] public: _event EventHandler* UpdateRequestCache;

[0217] [VB] Public Event UpdateRequestCache As EventHandler

[0218] Description

[0219] Methods:

[0220] AddOnAcquireRequestStateAsync

[0221] [C#] public void AddOnAcquireRequestStateAsync(BeginEventHandler bh, EndEventHandler eh);

[0222] [C++] public: void AddOnAcquireRequestStateAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0223] [VB] Public Sub AddOnAcquireRequestStateAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0224] [JScript] public function AddOnAcquireRequestStateAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0225] Description

[0226] AddOnAuthenticateRequestAsync

[0227] [C#] public void AddOnAuthenticateRequestAsync(BeginEventHandler bh, EndEventHandler eh);

[0228] [C++] public: void AddOnAuthenticateRequestAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0229] [VB] Public Sub AddOnAuthenticateRequestAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0230] [JScript] public function AddOnAuthenticateRequestAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0231] Description

[0232] AddOnAuthorizeRequestAsync

[0233] [C#] public void AddOnAuthorizeRequestAsync(BeginEventHandler bh, EndEventHandler eh);

[0234] [C++] public: void AddOnAuthorizeRequestAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0235] [VB] Public Sub AddOnAuthorizeRequestAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0236] [JScript] public function AddOnAuthorizeRequestAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0237] Description

[0238] AddOnBeginRequestAsync

[0239] [C#] public void AddOnBeginRequestAsync(BeginEventHandler bh, EndEventHandler eh);

[0240] [C++] public: void AddOnBeginRequestAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0241] [VB] Public Sub AddOnBeginRequestAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0242] [JScript] public function AddOnBeginRequestAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0243] Description

[0244] AddOnEndRequestAsync

[0245] [C#] public void AddOnEndRequestAsync(BeginEventHandler bh, EndEventHandler eh);

[0246] [C++] public: void AddOnEndRequestAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0247] [VB] Public Sub AddOnEndRequestAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0248] [JScript] public function AddOnEndRequestAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0249] Description

[0250] AddOnPostRequestHandlerExecuteAsync

[0251] [C#] public void AddOnPostRequestHandlerExecuteAsync(BeginEventHand- ler bh, EndEventHandler eh);

[0252] [C++] public: void AddOnPostRequestHandlerExecuteAsync(BeginEventHa- ndler* bh, EndEventHandler* eh);

[0253] [VB] Public Sub AddOnPostRequestHandlerExecuteAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0254] [JScript] public function AddOnPostRequestHandlerExecuteAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0255] Description

[0256] AddOnPreRequestHandlerExecuteAsync

[0257] [C#] public void AddOnPreRequestHandlerExecuteAsync(BeginEventHandl- er bh, EndEventHandler eh);

[0258] [C++] public: void AddOnPreRequestHandlerExecuteAsync(BeginEventHan- dler* bh, EndEventHandler* eh); [VB] Public Sub AddOnPreRequestHandlerExec- uteAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0259] [JScript] public function AddOnPreRequestHandlerExecuteAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0260] Description

[0261] AddOnReleaseRequestStateAsync

[0262] [C#] public void AddOnReleaseRequestStateAsync(BeginEventHandler bh, EndEventHandler eh);

[0263] [C++] public: void AddOnReleaseRequestStateAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0264] [VB] Public Sub AddOnReleaseRequestStateAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0265] [JScript] public function AddOnReleaseRequestStateAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0266] Description

[0267] AddOnResolveRequestCacheAsync

[0268] [C#] public void AddOnResolveRequestCacheAsync(BeginEventHandler bh, EndEventHandler eh);

[0269] [C++] public: void AddOnResolveRequestCacheAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0270] [VB] Public Sub AddOnResolveRequestCacheAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0271] [JScript] public function AddOnResolveRequestCacheAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0272] Description

[0273] AddOnUpdateRequestCacheAsync

[0274] [C#] public void AddOnUpdateRequestCacheAsync(BeginEventHandler bh, EndEventHandler eh);

[0275] [C++] public: void AddOnUpdateRequestCacheAsync(BeginEventHandler* bh, EndEventHandler* eh);

[0276] [VB] Public Sub AddonUpdateRequestCacheAsync(ByVal bh As BeginEventHandler, ByVal eh As EndEventHandler)

[0277] [JScript] public function AddOnUpdateRequestCacheAsync(bh : BeginEventHandler, eh : EndEventHandler);

[0278] Description

[0279] CompleteRequest

[0280] [C#] public void CompleteRequest( );

[0281] [C++] public: void CompleteRequest( );

[0282] [VB] Public Sub CompleteRequest( )

[0283] [JScript] public function CompleteRequest( );

[0284] Description

[0285] Dispose

[0286] [C#] public virtual void Dispose( );

[0287] [C++] public: virtual void Dispose( );

[0288] [VB] Overridable Public Sub Dispose( )

[0289] [JScript] public function Dispose( );

[0290] Description

[0291] Cleans up the instance variables of an HttpModule.

[0292] The System.Web.HttpApplication.Request, System.Web.HttpApplication.- Response, System.Web.HttpApplication.Session and System.Web.HttpApplicatio- n.Application properties are not available for use at the time System.Web.HttpApplication.Dispose is executed.

[0293] GetVaryByCustomString

[0294] [C#] public virtual string GetVaryByCustomString(HttpContext context, string custom);

[0295] [C++] public: virtual String* GetVaryByCustomString(HttpContext* context, String* custom);

[0296] [VB] Overridable Public Function GetVaryByCustomString(ByVal context As HttpContext, ByVal custom As String) As String

[0297] [JScript] public function GetVaryByCustomString(context: HttpContext, custom : String) String;

[0298] Description

[0299] Init

[0300] [C#] public virtual void Init( );

[0301] [C++] public: virtual void Init( );

[0302] [VB] Overridable Public Sub Init( )

[0303] [JScript] public function Init( );

[0304] Description

[0305] Initializes HttpModule instance variables and register event handlers with the hosting Application.

[0306] IHttpAsyncHandler.BeginProcessRequest

[0307] [C#] IAsyncResult IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData);

[0308] [C++] IAsyncResult* IHttpAsyncHandler::BeginProcessRequest(HttpCont- ext* context, AsyncCallback* cb, Object* extraData);

[0309] [VB] Function BeginProcessRequest(ByVal context As HttpContext, ByVal cb As AsyncCallback, ByVal extraData As Object) As IAsyncResult Implements IHttpAsyncHandler.BeginProcessRequest

[0310] [JScript] function IHttpAsyncHandler.BeginProcessRequest(context : HttpContext, cb : AsyncCallback, extraData : Object) : IAsyncResult;

[0311] IHttpAsyncHandler.EndProcessRequest

[0312] [C#] void IHttpAsyncHandler.EndProcessRequest(IAsyncResult result);

[0313] [C++] void IHttpAsyncHandler::EndProcessRequest(IAsyncResult* result);

[0314] [VB] Sub EndProcessRequest(ByVal result As IAsyncResult) Implements IHttpAsyncHandler.EndProcessRequest

[0315] [JScript] function IHttpAsyncHandler.EndProcessRequest(result : IAsyncResult);

[0316] IHttpHandler.ProcessRequest

[0317] [C#] void IHttpHandler.ProcessRequest(HttpContext context);

[0318] [C++] void IHttpHandler: :ProcessRequest(HttpContext* context);

[0319] [VB] Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

[0320] [JScript] function IHttpHandler.ProcessRequest(context : HttpContext);

[0321] HttpApplicationState class (System.Web)

[0322] ToString

[0323] Description

[0324] Enables sharing of global information across multiple sessions and requests within an ASP.NET application.

[0325] An ASP.NET application is the sum of all files, pages, handlers, modules, and code within the scope of a virtual directory and its subdirectories on a single web server.

[0326] AllKeys

[0327] ToString

[0328] [C#] public string[ ] AllKeys {get;}

[0329] [C++] public: _property String* get_AllKeys( );

[0330] [VB] Public ReadOnly Property AllKeys As String ( )

[0331] [JScript] public function get AllKeys( ) : String[ ];

[0332] Description

[0333] Gets the access keys in the System.Web.HttpApplicationState collection.

[0334] Contents

[0335] ToString

[0336] [C#] public HttpApplicationState Contents {get;}

[0337] [C++] public: _property HttpApplicationState* get_Contents( );

[0338] [VB] Public ReadOnly Property Contents As HttpApplicationState

[0339] [JScript] public function get Contents( ) : HttpApplicationState;

[0340] Description

[0341] Gets a reference to the System.Web.HttpApplicationState object.

[0342] This property provides compatibility with earlier versions of ASP.

[0343] Count

[0344] ToString

[0345] [C#] public override int Count {get;}

[0346] [C++] public: _property virtual int get_Count( );

[0347] [VB] Overrides Public ReadOnly Property Count As Integer

[0348] [JScript] public function get Count( ) : int;

[0349] Description

[0350] Gets the number of objects in the System.Web.HttpApplicationState collection.

[0351] IsReadOnly

[0352] Item

[0353] ToString

[0354] System.Web.HttpApplicationState

[0355] Description

[0356] Gets the value of a single System.Web.HttpApplicationState object by name. The name of the object in the collection.

[0357] Item

[0358] ToString

[0359] [C#] public object this[int index] {get;}

[0360] [C++] public: _property Object* get_Item(int index);

[0361] [VB] Public Default ReadOnly Property Item(ByVal index As Integer) As Object

[0362] [JScript] returnValue=HttpApplicationStateObject.Item(index);

[0363] Description

[0364] Gets a single System.Web.HttpApplicationState object by index. The numerical index of the object in the collection.

[0365] Keys

[0366] StaticObjects

[0367] ToString

[0368] Description

[0369] Gets all objects declared via an tag within the ASP.NET application.

[0370] Application objects are defined in the Global.asax file.

[0371] Add

[0372] [C#] public void Add(string name, object value);

[0373] [C++] public: void Add(String* name, Object* value);

[0374] [VB] Public Sub Add(ByVal name As String, ByVal value As Object)

[0375] [JScript] public function Add(name : String, value : Object);

[0376] Description

[0377] Adds a new object to the System.Web.HttpApplicationState collection. The name of the object to be added to the collection. The value of the object.

[0378] Clear

[0379] [C#] public void Clear( );

[0380] [C++] public: void Clear( );

[0381] [VB] Public Sub Clear( )

[0382] [JScript] public function Clear( );

[0383] Description

[0384] Removes all objects from an System.Web.HttpApplicationState collection.

[0385] Get

[0386] [C#] public object Get(int index);

[0387] [C++] public: Object* Get(int index);

[0388] [VB] Public Function Get(ByVal index As Integer) As Object

[0389] [JScript] public function Get(index : int) : Object;

[0390] Description

[0391] Gets an System.Web.HttpApplicationState object by numerical index. Return Value: The object referenced by index. The index of the application state object.

[0392] Get

[0393] [C#] public object Get(string name);

[0394] [C++] public: Object* Get(String* name);

[0395] [VB] Public Function Get(ByVal name As String) As Object

[0396] [JScript] public function Get(name : String) : Object; Gets an System.Web.HttpApplicationState object by name or index.

[0397] Description

[0398] Gets an System.Web.HttpApplicationState object by name. Return Value: The object referenced by name.

[0399] The following example returns an object named MyAppVarl from the System.Web.HttpApplicationState collection of the intrinsic System.Web.HttpContext.Application object and copies it to a new object variable. The name of the object.

[0400] GetKey

[0401] [C#] public string GetKey(int index);

[0402] [C++] public: String* GetKey(int index);

[0403] [VB] Public Function GetKey(ByVal index As Integer) As String

[0404] [JScript] public function GetKey(index : int) : String;

[0405] Description

[0406] Gets an System.Web.HttpApplicationState object name by index. Return Value: The name under which the application state object was saved. The index of the application state object.

[0407] Lock

[0408] [C#] public void Lock( );

[0409] [C++] public: void Lock( );

[0410] [VB] Public Sub Lock( )

[0411] [JScript] public function Lock( );

[0412] Description

[0413] Locks access to an System.Web.HttpApplicationState variable to facilitate access synchronization.

[0414] Remove

[0415] [C#] public void Remove(string name);

[0416] [C++] public: void Remove(String* name);

[0417] [VB] Public Sub Remove(ByVal name As String)

[0418] [JScript] public function Remove(name : String);

[0419] Description

[0420] Removes the named object from an System.Web.HttpApplicationState collection. The name of the object to be removed from the collection.

[0421] RemoveAll

[0422] [C#] public void RemoveAll( );

[0423] [C++] public: void RemoveAll( );

[0424] [VB] Public Sub RemoveAll( )

[0425] [JScript] public function RemoveAll( );

[0426] Description

[0427] Removes all objects from an System.Web.HttpApplicationState collection.

[0428] System.Web.HttpApplicationState.RemoveAll is an internal call to System.Web.HttpApplicationState.Clear.

[0429] RemoveAt

[0430] [C#] public void RemoveAt(int index);

[0431] [C++] public: void RemoveAt(int index);

[0432] [VB] Public Sub RemoveAt(ByVal index As Integer)

[0433] [JScript] public function RemoveAt(index: int); Removes an object from the application state collection by name.

[0434] Set

[0435] [C#] public void Set(string name, object value);

[0436] [C++] public: void Set(String* name, Object* value);

[0437] [VB] Public Sub Set(ByVal name As String, ByVal value As Object)

[0438] [JScript] public function Set(name : String, value : Object);

[0439] Description

[0440] Updates the value of an object in an System.Web.HttpApplicationStat- e collection. The name of the object to be updated. The updated value of the object.

[0441] UnLock

[0442] [C#] public void UnLock( );

[0443] [C++] public: void UnLock( );

[0444] [VB] Public Sub UnLock( )

[0445] [JScript] public function UnLock( );

[0446] Description

[0447] Unlocks access to an System.Web.HttpApplicationState variable to facilitate access synchronization.

[0448] HttpBrowserCapabilities class (System.Web)

[0449] UnLock

[0450] Description

[0451] Enables the server to gather information on the capabilities of the browser that is running on the client.

[0452] System.Web.HttpBrowserCapabilities properties are accessible through the System.Web.HttpRequest.Browser property of ASP.NET's intrinsic System.Web.HttpContext.Request object.

[0453] HttpBrowserCapabilities

[0454] Example Syntax:

[0455] UnLock

[0456] [C#] public HttpBrowserCapabilities( );

[0457] [C++] public: HttpBrowserCapabilities( );

[0458] [VB] Public Sub New( )

[0459] [JScript] public function HttpBrowserCapabilities( );

[0460] ActiveXControls

[0461] UnLock

[0462] [C#] public bool ActiveXControls {get;}

[0463] [C++] public: _property bool get_ActiveXControls( );

[0464] [VB] Public ReadOnly Property ActiveXControls As Boolean

[0465] [JScript] public function get ActiveXControls( ) : Boolean;

[0466] Description

[0467] Gets a value indicating whether the client browser supports ActiveX controls.

[0468] AOL

[0469] UnLock

[0470] [C#] public bool AOL {get;}

[0471] [C++] public: _property bool get_AOL( );

[0472] [VB] Public ReadOnly Property AOL As Boolean

[0473] [JScript] public function get AOL( ) : Boolean;

[0474] Description

[0475] Gets a value indicating whether the client is an America Online (AOL) browser.

[0476] BackgroundSounds

[0477] UnLock

[0478] [C#] public bool BackgroundSounds {get;}

[0479] [C++] public: _property bool get_BackgroundSounds( );

[0480] [VB] Public ReadOnly Property BackgroundSounds As Boolean

[0481] [JScript] public function get BackgroundSounds( ) : Boolean;

[0482] Description

[0483] Gets a value indicating whether the client browser supports background sounds.

[0484] Beta

[0485] UnLock

[0486] [C#] public boot Beta {get;}

[0487] [C++] public: _property boot get_Beta( );

[0488] [VB] Public ReadOnly Property Beta As Boolean

[0489] [JScript] public function get Beta( ) : Boolean;

[0490] Description

[0491] Gets a value indicating whether the browser is a beta release.

[0492] Browser

[0493] UnLock

[0494] [C#] public string Browser {get;}

[0495] [C++] public: _property String* get_Browser( );

[0496] [VB] Public ReadOnly Property Browser As String

[0497] [JScript] public function get Browser( ) : String;

[0498] Description

[0499] Gets the browser string (if any) that was transmitted in the User-Agent header.

[0500] CDF

[0501] UnLock

[0502] [C#] public bool CDF {get;}

[0503] [C++] public: _property bool get_CDF( );

[0504] [VB] Public ReadOnly Property CDF As Boolean

[0505] [JScript] public function get CDF( ) : Boolean;

[0506] Description

[0507] Gets a value indicating whether the client browser supports Channel Definition Format (CDF) for webcasting.

[0508] CirVersion

[0509] UnLock

[0510] [C#] public Version CirVersion {get;}

[0511] [C++] public: Property Version* get_ClrVersion( );

[0512] [VB] Public ReadOnly Property ClrVersion As Version

[0513] [JScript] public function get ClrVersion( ) : Version;

[0514] Description

[0515] Gets the version number of the NET common language runtime that the client browser supports.

[0516] If no common language runtime version is specified, the property value is 0, 0, -1, -1.

[0517] Cookies

[0518] UnLock

[0519] [C#] public bool Cookies {get;}

[0520] [C++] public: _property bool get_Cookies( );

[0521] [VB] Public ReadOnly Property Cookies As Boolean

[0522] [JScript] public function get Cookies( ) : Boolean;

[0523] Description

[0524] Gets a value indicating whether the client browser supports cookies.

[0525] Crawler

[0526] UnLock

[0527] [C#] public bool Crawler {get;}

[0528] [C++] public: _property bool get Crawler( );

[0529] [VB] Public ReadOnly Property Crawler As Boolean

[0530] [JScript] public function get Crawler( ) : Boolean;

[0531] Description

[0532] Gets a value indicating whether the client browser is a Web crawler search engine.

[0533] EcmaScriptVersion

[0534] UnLock

[0535] [C#] public Version EcmaScriptVersion {get;}

[0536] [C++] public: _property Version* get_EcmaScriptVersion( );

[0537] [VB] Public ReadOnly Property EcmaScriptVersion As Version

[0538] [JScript] public function get EcmaScriptVersion( ) : Version;

[0539] Description

[0540] Gets the version number of ECMA script that the client browser supports.

[0541] The European Computer Manufacturer's Association develops standards for information and communication systems. For more information, see ECMA's official Web site at http://www.ecma.ch.

[0542] Frames

[0543] UnLock

[0544] [C#] public bool Frames {get;}

[0545] [C++] public: _property bool get_Frames( );

[0546] [VB] Public ReadOnly Property Frames As Boolean

[0547] [JScript] public function get Frames( ) : Boolean;

[0548] Description

[0549] Gets a value indicating whether the client browser supports HTML frames.

[0550] Item

[0551] JavaApplets

[0552] UnLock

[0553] Description

[0554] Gets a value indicating whether the client browser supports Java applets.

[0555] JavaScript

[0556] UnLock

[0557] [C#] public bool JavaScript {get;}

[0558] [C++] public: _property bool get_JavaScript( );

[0559] [VB] Public ReadOnly Property JavaScript As Boolean

[0560] [JScript] public function get JavaScript( ) : Boolean;

[0561] Description

[0562] Gets a value indicating whether the client browser supports JavaScript.

[0563] MajorVersion

[0564] UnLock

[0565] [C#] public int MajorVersion {get;}

[0566] [C++] public: _property int get MajorVersion( );

[0567] [VB] Public ReadOnly Property MajorVersion As Integer

[0568] [JScript] public function get MajorVersion( ) : int;

[0569] Description

[0570] Gets the major (that is, integer) version number of the client browser.

[0571] MinorVersion

[0572] UnLock

[0573] [C#] public double MinorVersion {get;}

[0574] [C++] public: _property double get_MinorVersion( );

[0575] [VB] Public ReadOnly Property MinorVersion As Double

[0576] [JScript] public function get MinorVersion( ) : double;

[0577] Description

[0578] Gets the minor (that is, decimal) version number of the client browser.

[0579] MSDomVersion

[0580] UnLock

[0581] [C#] public Version MSDomVersion {get;}

[0582] [C++] public: _property Version* get MSDomVersion( );

[0583] [VB] Public ReadOnly Property MSDomVersion As Version

[0584] [JScript] public function get MSDomVersion( ) : Version;

[0585] Description

[0586] Gets the version of Microsoft HTML (MSHTML) Document Object Model (DOM) that the client browser supports.

[0587] Platform

[0588] UnLock

[0589] [C#] public string Platform {get;}

[0590] [C++] public: _property String* get_Platform( );

[0591] [VB] Public ReadOnly Property Platform As String

[0592] [JScript] public function get Platform( ) : String;

[0593] Description

[0594] Gets the name of the platform that the client uses.

[0595] Some possible Platform values are: Unknown, Win95, Win98, WinNT (which includes Windows 2000), Win16, WinCE, Mac68K, MacPPC, UNIX, and WebTV.

[0596] Tables

[0597] UnLock

[0598] [C#] public bool Tables {get;}

[0599] [C++] public: _property bool get Tables( );

[0600] [VB] Public ReadOnly Property Tables As Boolean

[0601] [JScript] public function get Tables( ) : Boolean;

[0602] Description

[0603] Gets a value indicating whether the client browser supports HTML tables.

[0604] TagWriter

[0605] UnLock

[0606] [C#] public Type TagWriter {get;}

[0607] [C++] public: _property Type* get_TagWriter( );

[0608] [VB] Public ReadOnly Property TagWriter As Type

[0609] [JScript] public function get TagWriter( ) : Type;

[0610] Description

[0611] Type

[0612] UnLock

[0613] [C#] public string Type {get;}

[0614] [C++] public: _property String* get_Type( );

[0615] [VB] Public ReadOnly Property Type As String

[0616] [JScript] public function get Type( ) : String;

[0617] Description

[0618] Gets the name and major (that is, integer) version number of the client browser.

[0619] VBScript

[0620] UnLock

[0621] [C#] public bool VBScript {get;}

[0622] [C++] public: _property bool get_VBScript( );

[0623] [VB] Public ReadOnly Property VBScript As Boolean

[0624] [JScript] public function get VBScript( ) : Boolean;

[0625] Description

[0626] Gets a value indicating whether the client browser supports VBScript.

[0627] Version

[0628] UnLock

[0629] [C#] public string Version {get;}

[0630] [C++] public: _property String* get_Version( );

[0631] [VB] Public ReadOnly Property Version As String

[0632] [JScript] public function get Version( ) : String;

[0633] Description

[0634] Gets the full (integer and decimal) version number of the client browser.

[0635] W3CDomVersion

[0636] UnLock

[0637] [C#] public Version W3CDomVersion {get;}

[0638] [C++] public: _property Version* get_W3CDomVersion( );

[0639] [VB] Public ReadOnly Property W3CDomVersion As Version

[0640] [JScript] public function get W3CDomVersion( ) : Version;

[0641] Description

[0642] Gets the version of the World Wide Web Consortium (W3C) XML Document Object Model (DOM) that the client browser supports.

[0643] Win16

[0644] UnLock

[0645] [C#] public bool Win16 {get;}

[0646] [C++] public: _property bool get Win16( );

[0647] [VB] Public ReadOnly Property Win16 As Boolean

[0648] [JScript] public function get Win16( ) : Boolean;

[0649] Description

[0650] Gets a value indicating whether the client is a Win16-based machine.

[0651] Win32

[0652] UnLock

[0653] [C#] public bool Win32 {get;}

[0654] [C++] public: _property bool get_Win32( );

[0655] [VB] Public ReadOnly Property Win32 As Boolean

[0656] [JScript] public function get Win32( ): Boolean;

[0657] Description

[0658] Gets a value indicating whether the client is a Win32-based machine.

[0659] HttpCacheability enumeration (System.Web)

[0660] ToString

[0661] Description

[0662] Provides enumerated values that are used to set the Cache-Control HTTP header.

[0663] ToString

[0664] [C#] public const HttpCacheability NoCache;

[0665] [C++] public: const HttpCacheability NoCache;

[0666] [VB] Public Const NoCache As HttpCacheability

[0667] [JScript] public var NoCache : HttpCacheability;

[0668] Description

[0669] Sets the Cache-Control: no-cache header. Without a field name, the directive applies to the entire request and a shared (proxy server) cache must force a successful revalidation with the origin Web server before satisfying the request. With a field name, the directive applies only to the named field;the rest of the response may be supplied from a shared cache.

[0670] ToString

[0671] [C#] public const HttpCacheability Private;

[0672] [C++] public: const HttpCacheability Private;

[0673] [VB] Public Const Private As HttpCacheability

[0674] [JScript] public var Private : HttpCacheability;

[0675] Description

[0676] Default value. Sets Cache-Control: private to specify that the response is cacheable only on the client and not by shared (proxy server) caches.

[0677] ToString

[0678] [C#] public const HttpCacheability Public;

[0679] [C++] public: const HttpCacheability Public;

[0680] [VB] Public Const Public As HttpCacheability

[0681] [JScript] public var Public : HttpCacheability;

[0682] Description

[0683] Sets Cache-Control: public to specify that the response is cacheable by clients and shared (proxy) caches.

[0684] ToString

[0685] [C#] public const HttpCacheability Server;

[0686] [C++] public: const HttpCacheability Server;

[0687] [VB] Public Const Server As HttpCacheability

[0688] [JScript] public var Server : HttpCacheability;

[0689] Description

[0690] Specifies that the response is cached only at the origin server. Similar to the NoCache option. Clients receive a Cache-Control: no-cache directive but the document is cached on the origin server.

[0691] HttpCachePolicy class (System.Web)

[0692] ToString

[0693] Description

[0694] Contains methods for setting cache-specific HTTP headers and for controlling the ASP.NET page output cache.

[0695] For background information on HTTP headers and controlling caching, see the document RFC 2616: Hypertext Transfer Protocol--HTTP/1.1, available on the World Wide Web Consortium's site at http://www.w3c.org.

[0696] VaryByHeaders

[0697] ToString

[0698] [C#] public HttpCacheVaryByHeaders VaryByHeaders {get;}

[0699] [C++] public: _property HttpCacheVaryByHeaders* get_VaryByHeaders( );

[0700] [VB] Public ReadOnly Property VaryByHeaders As HttpCacheVaryByHeaders

[0701] [JScript] public function get VaryByHeaders( ) : HttpCacheVaryByHeaders;

[0702] Description

[0703] Gets the list of all HTTP headers that will be used to vary cache output.

[0704] When a cached item has several vary headers, a separate version of the requested document is available from the cache for each HTTP header type.

[0705] VaryByParams

[0706] ToString

[0707] [C#] public HttpCacheVaryByParams VaryByParams {get;}

[0708] [C++] public: _property HttpCacheVaryByParams* get_VaryByParams( );

[0709] [VB] Public ReadOnly Property VaryByParams As HttpCacheVaryByParams

[0710] [JScript] public function get VaryByParams( ) : HttpCacheVaryByParams;

[0711] Description

[0712] Gets the list of parameters received by a GET (querystring) or POST (in the body of the HTTP request) that affect caching.

[0713] For each named parameter in VaryByParams a separate version of the requested document is available from the cache, the version varying by the parameter's value.

[0714] AddValidationCallback

[0715] [C#] public void AddValidationCallback(HttpCacheValidateHandler handler, object data);

[0716] [C++] public: void AddValidationCallback(HttpCacheValidateHandler* handler, Object* data);

[0717] [VB] Public Sub AddValidationCallback(ByVal handler As HttpCacheValidateHandler, ByVal data As Object)

[0718] [JScript] public function AddValidationCallback(handler : HttpCacheValidateHandler, data : Object);

[0719] Description

[0720] Registers a validation callback for the current response.

[0721] AddValidationCallback provides a mechanism to programmatically check the validity of a item in the cache before the item is returned from the cache. The System.Web.HttpCacheValidateHandler value. The arbitrary user-supplied data that is passed back to the AddValidationCallback delegate.

[0722] AppendCacheExtension

[0723] [C#] public void AppendCacheExtension(string extension);

[0724] [C++] public: void AppendCacheExtension(String* extension);

[0725] [VB] Public Sub AppendCacheExtension(ByVal extension As String)

[0726] [JScript] public function AppendCacheExtension(extension : String);

[0727] Description

[0728] Appends the specified text to the Cache-Control HTTP header.

[0729] If the browser does not recognize cache control directives or extensions, the browser must ignore the unrecognized terms. For more information, see the document RFC 2616: Hypertext Transfer Protocol--HTTP/1.1, available on the World Wide Web Consortium's site at http://www.w3c.org. The text to append to the Cache-Control header.

[0730] SetCacheability

[0731] [C#] public void SetCacheability(HttpCacheability cacheability);

[0732] [C++] public: void SetCacheability(HttpCacheability cacheability);

[0733] [VB] Public Sub SetCacheability(ByVal cacheability As HttpCacheability)

[0734] [JScript] public function SetCacheability(cacheability : HttpCacheability); Sets the Cache-Control HTTP header. The Cache-Control HTTP header controls how documents are to be cached on the network.

[0735] Description

[0736] Sets the Cache-Control header to one of the values of System.Web.HttpCacheability. An System.Web.HttpCacheability enumeration value.

[0737] SetCacheability

[0738] [C#] public void SetCacheability(HttpCacheability cacheability, string field);

[0739] [C++] public: void SetCacheability(HttpCacheability cacheability, String* field);

[0740] [VB] Public Sub SetCacheability(ByVal cacheability As HttpCacheability, ByVal field As String)

[0741] [JScript] public function SetCacheability(cacheability : HttpCacheability, field : String);

[0742] Description

[0743] Sets the Cache-Control header to one of the values of System.Web.HttpCacheability and appends an extension to the directive.

[0744] The field name extension is valid only when used with the private or no-cache directives. For more information, see the document RFC 2616: Hypertext Transfer Protocol--HTTP/1.1, available on the World Wide Web Consortium's site at http://www.w3c.org. The System.Web.HttpCacheability enumeration value to set the header to. The cache control extension to add to the header.

[0745] SetETag

[0746] [C#] public void SetETag(string etag);

[0747] [C++] public: void SetETag(String* etag);

[0748] [VB] Public Sub SetETag(ByVal etag As String)

[0749] [JScript] public function SetETag(etag : String);

[0750] Description

[0751] Sets the ETag HTTP header to the specified string.

[0752] The ETag header is a unique identifier for a specific version of a document. Once an ETag header is set, subsequent attempts to set it will fail and an exception will be thrown. The text to use for the ETag header.

[0753] SetETagFromFileDependencies

[0754] [C#] public void SetETagFromFileDependencies( );

[0755] [C++] public: void SetETagFromFileDependencies( );

[0756] [VB] Public Sub SetETagFromFileDependencies( )

[0757] [JScript] public function SetETagFromFileDependencies( );

[0758] Description

[0759] Sets the ETag HTTP header based on the time stamps of the handler's file dependencies.

[0760] SetEtagFromFileDependencies sets the ETag header by retrieving the last modified time stamps of all files on which the handler is dependent, combining all file names and time stamps into a single string, then hashing that string into a single digest that is used as the ETag.

[0761] SetExpires

[0762] [C#] public void SetExpires(DateTime date);

[0763] [C++] public: void SetExpires(DateTime date);

[0764] [VB] Public Sub SetExpires(ByVal date As DateTime)

[0765] [JScript] public function SetExpires(date : DateTime);

[0766] Description

[0767] Sets the Expires HTTP header to an absolute date and time.

[0768] This method will fail if the expiration date violates the principle of restrictiveness. The absolute System.DateTime value to set the Expiresheader to.

[0769] SetLastModified

[0770] [C#] public void SetLastModified(DateTime date);

[0771] [C++] public: void SetLastModified(DateTime date);

[0772] [VB] Public Sub SetLastModified(ByVal date As DateTime)

[0773] [JScript] public function SetLastModified(date : DateTime);

[0774] Description

[0775] Sets the Last-Modified HTTP header to the System.DateTime value supplied.

[0776] The Last-Modified HTTP header time stamps the document with the DateTime value indicating when the document was last modified. The new System.DateTime value for the Last-Modified header.

[0777] SetLastModifiedFromFileDependencies

[0778] [C#] public void SetLastModifiedFromFileDependencies( );

[0779] [C++] public: void SetLastModifiedFromFileDependencies( );

[0780] [VB] Public Sub SetLastModifiedFromFileDependencies( )

[0781] [JScript] public function SetLastModifiedFromFileDependencies( );

[0782] Description

[0783] Sets the Last-Modified HTTP header based on the time stamps of the handler's file dependencies.

[0784] SetMaxAge

[0785] [C++] public void SetMaxAge(TimeSpan delta);

[0786] [C++] public: void SetMaxAge(TimeSpan delta);

[0787] [VB] Public Sub SetMaxAge(ByVal delta As TimeSpan)

[0788] [JScript] public function SetMaxAge(delta : TimeSpan);

[0789] Description

[0790] Sets the Cache-Control: max-age HTTP header based on the specified time span.

[0791] Max-age is the maximum absolute time a document is allowed to exist before being considered stale. The time span used to set the Cache-Control: maxage header.

[0792] SetNoServerCaching

[0793] [C#] public void SetNoServerCaching( );

[0794] [C++] public: void SetNoServerCaching( );

[0795] [VB] Public Sub SetNoServerCaching( )

[0796] [JScript] public function SetNoServerCaching( );

[0797] Description

[0798] Stops all origin-server caching for the current response.

[0799] Explicitly denies caching of the document on the origin-server. Once set, all requests for the document are fully processed. When this method is invoked, caching cannot be reenabled for the current response.

[0800] SetNoStore

[0801] [C#] public void SetNoStore( );

[0802] [C++] public: void SetNoStore( );

[0803] [VB] Public Sub SetNoStore( )

[0804] [JScript] public function SetNoStore( );

[0805] Description

[0806] Sets the Cache-Control: no-store directive.

[0807] SetNoTransforms

[0808] [C#, public void SetNoTransforms( );

[0809] [C++] public: void SetNoTransforms( );

[0810] [VB] Public Sub SetNoTransforms( )

[0811] [JScript] public function SetNoTransforms( );

[0812] Description

[0813] Sets the CacheControl: no-transform directive.

[0814] The no-transform CacheControl setting instructs network caching applications to not modify the document.

[0815] SetProxyMaxAge

[0816] [C#] public void SetProxyMaxAge(TimeSpan delta);

[0817] [C++] public: void SetProxyMaxAge(TimeSpan delta);

[0818] [VB] Public Sub SetProxyMaxAge(ByVal delta As TimeSpan)

[0819] [JScript] public function SetProxyMaxAge(delta : TimeSpan);

[0820] Description

[0821] Sets the Cache-Control: s-maxage HTTP header based on the specified time span.

[0822] System.Web.HttpCachePolicy.SetProxyMaxAge(System.TimeSpan) does not use sliding expiration and will fail if the expiration date violates the principle of restrictiveness. The time span used to set the Cache-Control: s-maxage header.

[0823] SetRevalidation

[0824] [C#] public void SetRevalidation(HttpCacheRevalidation revalidation);

[0825] [C++] public: void SetRevalidation(HttpCacheRevalidation revalidation);

[0826] [VB] Public Sub SetRevalidation(ByVal revalidation As HttpCacheRevalidation)

[0827] [JScript] public function SetRevalidation(revalidation : HttpCacheRevalidation);

[0828] Description

[0829] Sets the Cache-Control HTTP header to either the must-revalidate or the proxy-revalidate directives based on the supplied enumeration value.

[0830] The default is to send neither directive in a header unless explicitly specified by this method. The System.Web.HttpCacheRevalidation enumeration value to set the Cache-Control header to.

[0831] SetSlidingExpiration

[0832] [C++] public void SetSlidingExpiration(bool slide);

[0833] [C++] public: void SetSlidingExpiration(bool slide);

[0834] [VB] Public Sub SetSlidingExpiration(ByVal slide As Boolean)

[0835] [JScript] public function SetSlidingExpiration(slide : Boolean);

[0836] Description

[0837] Sets cache expiration to sliding.

[0838] When cache expiration is set to sliding, the Cache-Control HTTP header will be renewed with each response. This expiration mode is identical to the IIS configuration option to add an expiration header to all output set relative to the current time true or false.

[0839] SetValidUntilExpires

[0840] [C#] public void SetValidUntilExpires(bool validUntilExpires);

[0841] [C++] public: void SetValidUntilExpires(bool validUntilExpires);

[0842] [VB] Public Sub SetValidUntilExpires(ByVal validUntilExpi res As Boolean)

[0843] [JScript] public function SetValidUntilExp ires(validUntilExpires : Boolean);

[0844] Description

[0845] SetVaryByCustom

[0846] [C#] public void SetVaryByCustom(string custom);

[0847] [C++] public: void SetVaryByCustom(String* custom);

[0848] [VB] Public Sub SetVaryByCustom(ByVal custom As String) [JSCript] public function SetVaryByCustom(custom : String);

[0849] Description

[0850] Sets the Vary HTTP header to the specified text string. The text to set the Vary header to.

[0851] HttpCacheRevalidation enumeration (System.Web)

[0852] ToString

[0853] Description

[0854] Provides enumerated values that are used to set revalidation-specific Cache-Control HTTP headers.

[0855] ToString

[0856] [C#] public const HttpCacheRevalidation AllCaches;

[0857] [C++] public: const HttpCacheRevalidation AllCaches;

[0858] [VB] Public Const AllCaches As HttpCacheRevalidation

[0859] [JScript] public var AllCaches : HttpCacheRevalidation;

[0860] Description

[0861] Sets the Cache-Control: must-revalidate HTTP header.

[0862] ToString

[0863] [C#] public const HttpCacheRevalidation None;

[0864] [C++] public: const HttpCacheRevalidation None;

[0865] [VB] Public Const None As HttpCacheRevalidation

[0866] [JScript] public var None : HttpCacheRevalidation;

[0867] Description

[0868] Default value. If this value is set, no cache-revalidation directive is sent.

[0869] ToString

[0870] [C#] public const HttpCacheRevalidation ProxyCaches;

[0871] [C++] public: const HttpCacheRevalidation ProxyCaches;

[0872] [VB] Public Const ProxyCaches As HttpCacheRevalidation

[0873] [JScript] public var ProxyCaches : HttpCacheRevalidation;

[0874] Description

[0875] Sets the Cache-Control: proxy-revalidate HTTP header.

[0876] HttpCacheValidateHandler delegate (System.Web)

[0877] ToString

[0878] Description

[0879] Delegate method that is called when a cached item is validated. Cache items invalidated within the method are treated as cache misses. The System.Web.HttpContext object containing information about the current request. User-supplied data used to validate the cached item. A System.Web.HttpValidationStatus enumeration value.

[0880] If any handler invalidates the cached item, the item is evicted from the cache and the request is handled as a cache miss.

[0881] HttpCacheVaryByHeaders class (System.Web)

[0882] ToString

[0883] Description

[0884] Provides a type-safe way to set the Vary HTTP header.

[0885] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request.

[0886] AcceptTypes

[0887] ToString

[0888] [C#] public bool AcceptTypes {get; set;}

[0889] [C++] public: _property bool get_AcceptTypes( );public: _property void set_AcceptTypes(bool);

[0890] [VB] Public Property AcceptTypes As Boolean

[0891] [JScript] public function get AcceptTypes( ) : Boolean;public function set AcceptTypes(Boolean);

[0892] Description

[0893] Gets or sets a value indicating whether the origin server adds the Accept field to the Vary HTTP header.

[0894] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request. The Accept field specifies that the server selects the response based on the media types acceptable to the client.

[0895] Item

[0896] ToString

[0897] [C#] public bool this[string header] {get; set;}

[0898] [C++] public: _property bool get_Item(String* header);public: _property void set_Item(String* header, bool);

[0899] [VB] Public Default Property Item(ByVal header As String) As Boolean

[0900] [JScript] returnValue=HttpCacheVaryByHeadersObject.Item(header);Htt- pCacheVaryByHeadersObject.I tem(header)=returnValue;

[0901] Description

[0902] Gets or sets a value indicating whether the origin server should add a custom field to the Vary HTTP header.

[0903] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request. The name of the custom header.

[0904] UserAgent

[0905] ToString

[0906] [C#] public bool UserAgent {get; set;}

[0907] [C++] public: _property bool get_UserAgent( );public: _property void set_UserAgent(bool);

[0908] [VB] Public Property UserAgent As Boolean

[0909] [JScript] public function get_UserAgent( ) : Boolean;public function set UserAgent(Boolean);

[0910] Description

[0911] Gets or sets a value indicating whether the origin server adds the UserAgent field to the Vary HTTP header.

[0912] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request. The User-Agent field specifies that the server selects the response based on the type of client user-agent.

[0913] UserCharSet

[0914] ToString

[0915] [C#] public bool UserCharSet {get; set;}

[0916] [C++] public: _property bool get_UserCharSet( );public: _property void set_UserCharSet(bool);

[0917] [VB] Public Property UserCharSet As Boolean

[0918] [JScript] public function get_UserCharSet( ) : Boolean;public function set UserCharSet(Boolean);

[0919] Description

[0920] Gets or sets a value indicating whether the origin server should add the Accept-Charset field to the Vary HTTP header.

[0921] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request. The Accept-CharSet field specifies that the server selects the response based on the client's character set.

[0922] UserLanguage

[0923] ToString

[0924] [C#] public bool UserLanguage {get; set;}

[0925] [C++] public: _property bool get_UserLanguage( );public: _property void set_UserLanguage(bool);

[0926] [VB] Public Property UserLanguage As Boolean

[0927] [JScript] public function get_UserLanguage( ): Boolean;public function set UserLanguage(Boolean);

[0928] Description

[0929] Gets or sets a value indicating whether the origin server adds the AcceptLanguage field to the Vary HTTP header.

[0930] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request. The Accept-Language field specifies that the server selects the response based on languages acceptable to the client.

[0931] VaryByUnspecifiedParameters

[0932] [C#] public void VaryByUnspecifiedParameters( );

[0933] [C++] public: void VaryByUnspecifiedParameters( );

[0934] [VB] Public Sub VaryByUnspecifiedParameters( )

[0935] [JScript] public function VaryByUnspecifiedParameters( );

[0936] Description

[0937] Sets the Vary HTTP header to the value * (an asterisk) and causes all other Vary header information to be dropped.

[0938] The Vary header indicates the request-header fields that the server uses to determine which of multiple cached responses is sent in response to a client request. The * field specifies that the server selects the response based on parameters not specified in request headers (for example, the network address of the client).

[0939] HttpCacheVaryByParams class (System.Web)

[0940] VaryByUnspecifiedParameters

[0941] Description

[0942] Indicates that a cache should contain multiple representations (cached responses) for a particular URI. This class is an encapsulation that provides a type-safe way to set the Vary HTTP header.

[0943] For more information on HTTP cache control headers, see RFC 2616: Hypertext Transfer Protocol--HTTP/1.1, available on the World Wide Web Consortium's Web site at http://www.w3c.org. See section 14, "Header Field Definitions", for complete details.

[0944] IgnoreParams

[0945] VaryByUnspecifiedParameters

[0946] [C#] public bool IgnoreParams {get; set;}

[0947] [C++] public: _property bool get_IgnoreParams( );public: _property void set_IgnoreParams(bool);

[0948] [VB] Public Property IgnoreParams As Boolean

[0949] [JScript] public function get IgnoreParams( ) : Boolean;public function set IgnoreParams(Boolean);

[0950] Description

[0951] Gets or sets a value indicating whether HTTP header cache control parameters are ignored.

[0952] Item

[0953] VaryByUnspecifiedParameters

[0954] [C#] public bool this[string header] {get; set;}

[0955] [C++] public: _property bool get_Item(String* header);public: _property void set_Item(String* header, bool);

[0956] [VB] Public Default Property Item(ByVal header As String) As Boolean

[0957] [JScript] returnValue=HttpCacheVaryByParamsObject.Item(header);Http- CacheVaryByParamsObject.Ite m(header)=returnValue;

[0958] Description

[0959] Gets or sets the name of the cache-control header that is used to select one of several different cached responses. The name of the custom header.

[0960] HttpClientCertificate class (System.Web)

[0961] ToString

[0962] Description

[0963] The HttpClientCertificate collection retrieves the certification fields (specified in the X.509 standard) from a request issued by the Web browser.

[0964] AllKeys

[0965] BinaryIssuer

[0966] ToString

[0967] Description

[0968] CertEncoding

[0969] ToString

[0970] [C#] public int CertEncoding {get;}

[0971] [C++] public: _property int get_CertEncoding( );

[0972] [VB] Public ReadOnly Property CertEncoding As Integer

[0973] [JScript] public function get CertEncoding( ) : int;

[0974] Description

[0975] Certificate

[0976] ToString

[0977] [C#] public byte[ ] Certificate {get;}

[0978] [C++] public: _property unsigned char get_Certificate( );

[0979] [VB] Public ReadOnly Property Certificate As Byte ( )

[0980] [JScript] public function get Certificate( ) : Byte[ ];

[0981] Description

[0982] A string containing the binary stream of the entire certificate content in ASN.I format.

[0983] Cookie

[0984] ToString

[0985] [C#] public string Cookie {get;}

[0986] [C++] public: _property String* get_Cookie( );

[0987] [VB] Public ReadOnly Property Cookie As String

[0988] [JScript] public function get Cookie( ) : String;

[0989] Description

[0990] Count

[0991] Flags

[0992] ToString

[0993] Description

[0994] A set of flags that provide additional client certificate information.

[0995] IsPresent

[0996] ToString

[0997] [C#] public bool IsPresent {get;}

[0998] [C++] public: _property bool get_IsPresent( );

[0999] [VB] Public ReadOnly Property IsPresent As Boolean

[1000] [JScript] public function get IsPresent( ) : Boolean;

[1001] Description

[1002] IsReadOnly

[1003] Issuer

[1004] ToString

[1005] Description

[1006] A string that contains a list of subfield values containing information about the certificate issuer.

[1007] IsValid

[1008] ToString

[1009] [C#] public bool IsValid {get;}

[1010] [C++] public: _property bool get_IsValid( );

[1011] [VB] Public ReadOnly Property IsValid As Boolean

[1012] [JScript] public function get IsValid( ) : Boolean;

[1013] Description

[1014] Item

[1015] Item

[1016] Keys

[1017] KeySize

[1018] ToString

[1019] Description

[1020] PublicKey

[1021] ToString

[1022] [C#] public byte[ ] PublicKey {get;}

[1023] [C++] public: _property unsigned char get_PublicKey( );

[1024] [VB] Public ReadOnly Property PublicKey As Byte ( )

[1025] [JScript] public function get PublicKey( ) : Byte[ ];

[1026] Description

[1027] SecretKeySize

[1028] ToString

[1029] [C#] public int SecretKeySize {get;}

[1030] [C++] public: _property int get_SecretKeySize( );

[1031] [VB] Public ReadOnly Property SecretKeySize As Integer

[1032] [JScript] public function get SecretKeySize( ): int;

[1033] Description

[1034] SerialNumber

[1035] ToString

[1036] [C#] public string SerialNumber {get;}

[1037] [C++] public: _property String* get_SerialNumber( );

[1038] [VB] Public ReadOnly Property SerialNumber As String

[1039] [JScript] public function get SerialNumber( ) : String;

[1040] Description

[1041] A string that contains the certification serial number as an ASCII representation of hexadecimal bytes separated by hyphens (-). For example, 04-67-F3-02.

[1042] ServerIssuer

[1043] ToString

[1044] [C#] public string ServerIssuer {get;}

[1045] [C++] public: _property String* get_ServerIssuer( );

[1046] [VB] Public ReadOnly Property ServerIssuer As String

[1047] [JScript] public function get ServerIssuer( ) : String;

[1048] Description

[1049] ServerSubject

[1050] ToString

[1051] [C#] public string ServerSubject {get;}

[1052] [C++] public: _property String* get_ServerSubject( );

[1053] [VB] Public ReadOnly Property ServerSubject As String

[1054] [JScript] public function get ServerSubject( ) : String;

[1055] Description

[1056] Subject

[1057] ToString

[1058] [C#] public string Subject {get;}

[1059] [C++] public: _property String* get_Subject( );

[1060] [VB] Public ReadOnly Property Subject As String

[1061] [JScript] public function get Subject( ) : String;

[1062] Description

[1063] A string that contains a list of subfield values that contain information about the subject of the certificate. If this value is specified without a SubField the ClientCertificate collection returns a comma-separated list of subfields. For example, C=US, O=Msft, and so on.

[1064] ValidFrom

[1065] ToString

[1066] [C#] public DateTime ValidFrom {get;}

[1067] [C++] public: _property DateTime get_ValidFrom( );

[1068] [VB] Public ReadOnly Property ValidFrom As DateTime

[1069] [JScript] public function get ValldFrom( ) DateTime;

[1070] Description

[1071] A date specifying when the certificate becomes valid. This date varies with international settings.

[1072] ValidUntil

[1073] ToString

[1074] [C#] public DateTime ValidUntil {get;}

[1075] [C++] public: _property DateTime get_ValidUntil( );

[1076] [VB] Public ReadOnly Property ValidUntil As DateTime

[1077] [JScript] public function get ValidUntil( ) : DateTime;

[1078] Description

[1079] A date specifying when the certificate expires. The year value is displayed as a four-digit number.

[1080] Get

[1081] [C#] public override string Get(string field);

[1082] [C++] public: String* Get(String* field);

[1083] [VB] Overrides Public Function Get(ByVal field As String) As String

[1084] [JScript] public override function Get(field : String) : String;

[1085] Description

[1086] Allows access to individual items in the collection by name. The name of the item in the collection to retrieve.

[1087] HttpCompileException class (System.Web)

[1088] ToString

[1089] Description

[1090] The exception that is thrown when a compiler error occurs.

[1091] HttpCompileException

[1092] Example Syntax:

[1093] ToString

[1094] [C#] public HttpCompileException(CompilerResults results, string sourceCode);

[1095] [C++] public: HttpCompileException(CompilerResults* results, String* sourceCode);

[1096] [VB] Public Sub New(ByVal results As CompilerResults, ByVal sourceCode As String)

[1097] [JScript] public function HttpCompileException(results : CompilerResults, sourceCode : String);

[1098] Description

[1099] Initializes a new instance of the System.Web.HttpCompileException class. A System.CodeDom.Compiler.CompilerResults containing compiler output and error information. The name of the file being compiled when the error occurs.

[1100] ErrorCode

[1101] HelpLink

[1102] HResult

[1103] InnerException

[1104] Message

[1105] Results

[1106] ToString

[1107] Description

[1108] Gets compiler output and error information for the exception.

[1109] Source

[1110] SourceCode

[1111] ToString

[1112] Description

[1113] Gets the name of the source file being compiled when the error occurs.

[1114] StackTrace

[1115] TargetSite

[1116] HttpContext class (System.Web)

[1117] ToString

[1118] Description

[1119] Encapsulates all HTTP-specific information about an individual HTTP request.

[1120] Classes that inherit the System.Web.IHttpModule and System.Web.IHttpHandler interfaces are provided a reference to an HttpContext object for the current HTTP request. The object provides access to the intrinsic System.Web.HttpContext.Request, System.Web.HttpContext.Response, and System.Web.HttpContext.Server objects for the request.

[1121] HttpContext

[1122] Example Syntax:

[1123] ToString

[1124] [C#] public HttpContext(HttpWorkerRequest wr);

[1125] [C++] public: HttpContext(HttpWorkerRequest* wr);

[1126] [VB] Public Sub New(ByVal wr As HttpWorkerRequest)

[1127] [JScript] public function HttpContext(wr : HttpWorkerRequest);

[1128] Description

[1129] Initializes a new instance of the System.Web.HttpContext class. The System.Web.HttpWorkerRequest object for the current HTTP request.

[1130] HttpContext

[1131] Example Syntax:

[1132] ToString

[1133] [C#] public HttpContext(HttpRequest request, HttpResponse response);

[1134] [C++] public: HttpContext(HttpRequest* request, HttpResponse* response);

[1135] [VB] Public Sub New(ByVal request As HttpRequest, ByVal response As HttpResponse)

[1136] [JScript] public function HttpContext(request : HttpRequest, response : HttpResponse); Initializes a new instance of the System.Web.HttpContext class.

[1137] Description

[1138] Initializes a new instance of the System.Web.HttpContext class. The System.Web.HttpRequest object for the current HTTP request. The System.Web.HttpResponse object for the current HTTP request.

[1139] AllErrors

[1140] ToString

[1141] [C#] public Exception[ ] AllErrors {get;}

[1142] [C++] public: _property Exception* get_AllErrors( );

[1143] [VB] Public ReadOnly Property AllErrors As Exception ( )

[1144] [JScript] public function get AllErrors( ) : Exception[ ];

[1145] Description

[1146] Gets an array of errors accumulated while processing an HTTP request.

[1147] Application

[1148] ToString

[1149] [C#] public HttpApplicationState Application {get;}

[1150] [C++] public: _property HttpApplicationState* g