Visual C# 2005 How to Program, 2/e
 |
ISBN:
0-13-152523-9
© 2006
pages: 1535
Order

 |
[Note: This is an excerpt (Sections 22.1–22.4) of Chapter 22, Web Services, from our textbook Visual C# 2005 How to Program, 2/e. These articles may refer to other chapters or sections of the book that are not included here. Permission Information: Deitel, Harvey M. and Paul J., VISUAL C# 2005 HOW TO PROGRAM, 2/E, ©2005, pp.1164–1190. Electronically reproduced by permission of Pearson Education, Inc., Upper Saddle River, New Jersey.]
Building a Web Service in Visual Web Developer
We now show you how to create the
HugeInteger Web service. In the following steps, you will create an
ASP.NET Web Service project that executes on your computer's local IIS Web server. To create the
HugeInteger Web service in Visual Web Developer, perform the following steps:
Step 1: Creating the Project
To begin, we must create a project of type
ASP.NET Web Service. Select
File > New Web Site... to display the
New Web Site dialog (Fig. 22.10). Select
ASP.NET Web Service in the
Templates pane. Select
HTTP from the
Location drop-down list to indicate that the files should be placed on a Web server. By default, Visual Web Developer indicates that it will place the files on the local machine's IIS Web server in a virtual directory named
WebSite (
http://localhost/WebSite). Replace the name
WebSite with
HugeInteger for this example. Next, select
Visual C# from the
Language drop-down list to indicate that you will use Visual C# to build this Web service. Visual Web Developer places the Web service project's solution file (
.sln) in the
Projects subfolder within the current Windows user's
My Documents\Visual Studio 2005 folder. If you do not have access to an IIS Web server to build and test the examples in this chapter, you can select
File System from the
Location drop-down list. In this case, Visual Web Developer will place your Web service's files on your local hard disk. You will then be able to test the Web service using Visual Web Developer's built-in Web server.
Fig. 22.10
Creating an ASP.NET Web Service in Visual Web Developer.
Step 2: Examining the Newly Created Project
When the project is created, the code-behind file
Service.cs, which contains code for a simple Web service (Fig. 22.11) is displayed by default. If the code-behind file is not open, it can be opened by double clicking the file in the
App_Code directory listed in the
Solution Explorer. Visual Web Developer includes four
using declarations that are helpful for developing Web services (lines 1-4). By default, a new code-behind file defines a class named
Service that is marked with the
WebService and
WebServiceBinding attributes (lines 6-7). The class contains a sample Web method named
HelloWorld (lines 14-17). This method is a placeholder that you will replace with your own method(s).
Step 3: Modifying and Renaming the Code-Behind File
To create the
HugeInteger Web service developed in this section, modify
Service.cs by replacing all of the sample code provided by Visual Web Developer with all of the code from the
HugeInteger code-behind file (Fig. 22.9). Then rename the file
HugeInteger.cs (by right clicking the file in the
Solution Explorer and choosing
Rename).
Step 4: Examining the ASMX File
The
Solution Explorer lists one file-
Service.asmx-in addition to the code-behind file. Recall from Fig. 22.2 that a Web service's ASMX page, when accessed through a Web browser, displays information about the Web service's methods and provides access to the Web service's WSDL information. However, if you open the ASMX file on disk, you will see that it actually contains only
<%@ WebService
Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %>
to indicate the programming language in which the Web service's code-behind file is written, the code-behind file's location and the class that defines the Web service. When you request the ASMX page through IIS, ASP.NET uses this information to generate the content displayed in the Web browser (i.e., the list of Web methods and their descriptions).
Fig. 22.11
Code view of a Web service.
Step 5: Modifying the ASMX File
Whenever you change the name of the code-behind file or the name of the class that defines the Web service, you must modify the ASMX file accordingly. Thus, after defining class
HugeInteger in the code-behind file
HugeInteger.cs, modify the ASMX file to contain the lines
<%@ WebService
Language="C#" CodeBehind="~/App_Code/HugeInteger.cs" Class="HugeInteger" %>
Error-Prevention Tip 22.2
Update the Web service's ASMX file appropriately whenever the name of a Web service's code-behind file or the class name changes. Visual Web Developer creates the ASMX file, but does not automatically update it when you make changes to other files in the project.
Step 6: Renaming the ASMX File
The final step in creating the
HugeInteger Web service is to rename the ASMX file
HugeInteger.asmx.