Summary ASP.NET and Web Forms: Developing Browser-Based Applications
6.12 Summary
ASP.NET is a brand-new framework for delivering web-based applications. It is similar in concept and usage to Microsofts previous ASP technology, though it is far more powerful. 329Chapter 7. Web Services
A web service is a function call over the Internet. Web services are to distributed-application development as components are to desktop-application development. With web services, a component-library developer can expose programmatic functionality over the Internet. The author of a client application can easily use that functionality, even though the client application may exist on a computer on the other side of the world. Furthermore, the client application doesnt have to be web- based. It can just as easily be a GUI-based application, as long as the computer its running on is connected to the Internet. Web services are not limited to Microsoft products. They are an industrywide movement, with industrywide standardization. Web services running on one vendors platform can be used by clients running on entirely different and otherwise incompatible platforms, since they are built on HTTP, XML, and SOAP. These three specifications have extremely broad industry support and are available on virtually all major hardware and operating-system platforms. HTTP HyperText Transfer Protocol is a protocol that was originally developed to allow users to navigate through hypermedia -- documents and other media that link to still other documents and media. This protocol has become the basis for todays World Wide Web. HTTP has primarily been used to transport documents that are in the form of HTML HyperText Markup Language, a plain-text document markup language. Virtually every general-purpose computer in the world is connected to the Internet and has the capability to browse web pages. Said another way, virtually every computer in the world has the ability to transfer data using the HTTP protocol. Because of this, it makes sense to harness the power of HTTP for more than just requesting and delivering web pages. In addition to these tasks, HTTP is now used to transport XML and SOAP. XML eXtensible Markup Language is a specification for encoding all kinds of data as plain-text documents. Unlike HTTP, XML doesnt define a transport mechanism. XML documents can be transmitted over HTTP, email, FTP, or any other transport mechanism. SOAP Simple Object Access Protocol is a specification that defines how to encode function calls as XML documents. A web service is nothing more than a web server that knows how to listen for and respond to SOAP messages carried over HTTP. How the web service is implemented is irrelevant to the client of the web service. The client simply knows that it can send SOAP messages to a web server located at a specific URL and receive SOAP responses. ASP.NET makes it easy both to expose web services and to use them. In both cases, the ASP.NET runtime encapsulates the communication mechanism, including generating and receiving appropriate SOAP messages. The author of a web service merely writes a class that exposes the desired functionality. ASP.NET does the hard work of handling incoming SOAP messages and forwarding calls to the appropriate method of the class. When the method returns, ASP.NET wraps up the return value and sends it back to the client in a SOAP response. To the .NET application developer using web services, a web service seems like just another type that exposes methods to call. Behind the scenes, ASP.NET translates each method call into a SOAP request to invoke the remote functionality.7.1 Creating a Web Service
Ex am ple 7- 1 shows the source code for a simple web service. Example 7-1. A simple web serviceParts
» VB.NET - (O'Reilly) Programming Visual Basic NET
» What Is the Microsoft .NET Framework?
» hello, world An Example Visual Basic .NET Program
» Hello, Windows An Example Visual Basic .NET Program
» Hello, Browser An Example Visual Basic .NET Program
» Source Files Identifiers The Visual Basic .NET Language
» Numeric Literals String Literals Character Literals
» Date Literals Boolean Literals Nothing Summary of Literal Formats
» Custom Types Collections Types
» The Namespace Statement The Imports Statement
» Symbolic Constants Scope The Visual Basic .NET Language
» Access Modifiers Assignment The Visual Basic .NET Language
» Unary Operators Arithmetic Operators
» Relational Operators Operators and Expressions
» String-Concatenation Operators Bitwise Operators
» Logical Operators Operator Precedence
» Call Exit Branching Statements
» Goto If RaiseEvent Branching Statements
» Return Select Case Branching Statements
» For Each Iteration Statements
» Object Instantiation and New Constructors
» Handling Events Inheritance Classes
» Passing arrays as parameters
» Variable-length parameter lists Main method
» Implementing interface methods Overriding inherited methods
» Overloading Overloading inherited methods
» The MyBase Keyword Nested Classes Destructors
» Interfaces The Visual Basic .NET Language
» Enumerations The Visual Basic .NET Language
» Exceptions The Visual Basic .NET Language
» Delegates The Visual Basic .NET Language
» Using Events and Delegates Together
» Creating Custom Attributes Attributes
» Standard Modules Conditional Compilation
» Summary The Visual Basic .NET Language
» Common Language Infrastructure CLI and Common Language Runtime CLR
» Global Assembly Cache GAC Comparison of Assemblies, Modules, and Namespaces
» Application Domains Common Language Specification CLS
» Intermediate Language IL and Just-In-Time JIT Compilation Metadata
» Finalize Memory Management and Garbage Collection
» Dispose Memory Management and Garbage Collection
» A Brief Tour of the .NET Framework Namespaces
» Configuration File Format Configuration
» Configuration Section Groups The appSettings Section
» Adding event handlers Creating a Form in Code
» Handling Form Events Windows Forms I: Developing Desktop Applications
» Relationships Between Forms Windows Forms I: Developing Desktop Applications
» Merging Menus MDI Applications
» Detecting MDI Child Window Activation
» Component Attributes Windows Forms I: Developing Desktop Applications
» The Graphics Class 2-D Graphics Programming with GDI+
» The Pen Class 2-D Graphics Programming with GDI+
» The Brush Class 2-D Graphics Programming with GDI+
» System colors The Color Structure
» Alpha Blending 2-D Graphics Programming with GDI+
» Antialiasing 2-D Graphics Programming with GDI+
» The PrintPageEventArgs Class Printing
» The OnBeginPrint and OnEndPrint Methods Choosing a Printer
» The PageSettings Class Printing
» The PrinterSettings Class Printing
» Page Setup Dialog Box Print Preview
» Summary Windows Forms I: Developing Desktop Applications
» The Button Class The CheckBox Class The ComboBox Class
» The DateTimePicker Class The GroupBox Class The ImageList Class
» The Label Class The LinkLabel Class
» The ListBox Class Common Controls and Components
» The ListBox.ObjectCollection Class
» The ListView Class Common Controls and Components
» The MonthCalendar Class Common Controls and Components
» The Panel Class The PictureBox Class
» The RadioButton Class Common Controls and Components
» The TextBox Class The Timer Class
» Other Controls and Components
» Control Events Windows Forms II: Controls, Common Dialog Boxes, and Menus
» The Anchor Property Form and Control Layout
» Controlling dock order The Dock Property
» The Splitter control The Dock Property
» ColorDialog FontDialog OpenFileDialog Common Dialog Boxes
» PageSetupDialog PrintDialog PrintPreviewDialog SaveFileDialog
» Adding Menus in the Visual Studio .NET Windows Forms Designer
» Programmatically Creating Menus Menus
» Building Controls from Other Controls
» Building Controls That Draw Themselves Building Nonrectangular Controls
» Summary Windows Forms II: Controls, Common Dialog Boxes, and Menus
» Setting control properties using attributes Adding event handlers
» AutoEventWireup Handling Page Events
» The Button control Web Controls
» The CheckBox control The DropDownList control
» The Image control The Label control
» The ListBox control Web Controls
» The RadioButton control Web Controls
» The Table control Web Controls
» The TextBox control Web Controls
» Other web controls Web Controls
» HTML Controls Handling Control Events
» Programmatically Instantiating Controls More About Server Controls
» More About Validation-Control Tag Attributes
» Using Validation-Control Properties Providing a Summary View of Validation Failures
» Performing Custom Validation Adding Validation
» Using Directives to Modify Web Page Compilation
» The Server Object ASP.NET Objects: Interacting with the Framework
» The Application Object The Session Object The Cache Object The Request Object
» The Response Object ASP.NET Objects: Interacting with the Framework
» Discovering Browser Capabilities ASP.NET and Web Forms: Developing Browser-Based Applications
» The Session Object Maintaining State
» The Application Object Maintaining State
» Session and Application Startup and Shutdown global.asax Compiles to a Class
» Adding Global Objects Application-Level Code and global.asax
» ASP.NET authorization Authorization
» Windows NTFS authorization Code-access authorization
» IUSR_ComputerName Impersonation Accessing Network Resources
» User Controls Designing Custom Controls
» Creating a custom server control using Visual Studio .NET
» Creating a custom server control in code Using a custom server control in Visual Studio .NET
» Summary ASP.NET and Web Forms: Developing Browser-Based Applications
» The WebService Attribute The WebMethod Attribute
» Testing a Web Service with a Browser
» Consuming a Web Service in Visual Studio .NET
» Consuming a Web Service in Notepad
» Synchronous Versus Asynchronous Calls
» Web-Service Descriptions Web-Service Discovery
» Limitations of Web Services Summary
» A Brief History of Universal Data Access Managed Providers
» Connecting to a SQL Server Database
» Connecting to an OLE DB Data Source
» The DataSet Class Finding Tables
» Finding Column Values Finding Column Definitions Changing, Adding, and Deleting Rows
» Writing Updates Back to the Data Source
» Relations Between DataTables in a DataSet
» The DataSets XML Capabilities
» Binding a DataSet to a Windows Forms DataGrid
» Binding a DataSet to a Web Forms DataGrid
» Typed DataSets ADO.NET: Developing Database Applications
» Reading Data Using a DataReader
Show more