[Note: This tutorial is an excerpt (Sections 22.1–22.4) of Chapter 22, Web Services, from our textbook Visual C# 2005 How to Program, 2/e.
This tutorial 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.]
Deploying the HugeInteger Web Service
The Web service is already deployed because we created the
HugeInteger Web service directly on our computer's local IIS server. You can choose
Build Web Site from the
Build menu to ensure that the Web service compiles without errors. You can also test the Web service directly from Visual Web Developer by selecting
Start Without Debugging from the
Debug menu. This opens a browser window that contains the ASMX page shown in Fig. 22.2. Clicking the link for a particular
HugeInteger Web service method displays a Web page like the one in Fig. 22.4 that allows you to test the method. Note that you can also access the Web service's ASMX page from your computer by typing the following URL in a Web browser
http://localhost/HugeInteger/HugeInteger.asmx
Accessing the
HugeInteger Web Service's ASMX Page from Another Computer
Eventually, you will want other clients to be able to access and use your Web service. If you deploy the Web service on an IIS Web server, a client can connect to that server to access the Web service with a URL of the form
http://
host/HugeInteger/HugeInteger.asmx
where
host is the hostname or IP address of the Web server. To access the Web service from another computer in your company's or school's local area network, you can replace
host with the actual name of the computer on which IIS is running.
If you have the Windows XP Service Pack 2 operating system on the computer running IIS, that computer may not allow requests from other computers by default. If you wish to allow other computers to connect to your computer's Web server, perform the following steps:
- Select Start > Control Panel to open your system's Control Panel window, then double click Windows Firewall to view the Windows Firewall settings dialog.
- In the Windows Firewall settings dialog, click the Advanced tab, select Local Area Connection (or your network connection's name, if it is different) in the Network Connection Settings list box and click the Settings... button to display the Advanced Settings dialog.
- In the Advanced Settings dialog, ensure that the checkbox for Web Server (HTTP) is checked to allow clients on other computers to submit requests to your computer's Web server.
- Click OK in the Advanced Settings dialog, then click OK in the Windows Firewall settings dialog.
Accessing the
HugeInteger Web Service's ASMX Page When the Web Service Executes in Visual Web Developer's Built-in Web Server.
Recall from
Step 1 of Section 22.4.2 that if you do not have access to an IIS server to deploy and test your Web service, you can create the Web service on your computer's hard disk and use Visual Web Developer's built-in Web server to test the Web service. In this case, when you select
Start Without Debugging from the
Debug menu, Visual Web Developer executes its built-in Web server, then opens a Web browser containing the Web service's ASMX page so that you can test the Web service.
Web servers typically receive requests on port 80. To ensure that Visual Web Developer's built-in Web server does not conflict with another Web server running on your local computer, Visual Web Developer's Web server receives requests on a randomly selected port number. When a Web server receives requests on a port number other than port 80, the port number must be specified as part of the request. In this case, the URL to access the
HugeInteger Web service's ASMX page would be of the form
http://host:
portNumber/HugeInteger/HugeInteger.asmx
where
host is the hostname or IP address of the computer on which Visual Web Developer's built-in Web server is running and
portNumber is the specific port on which the Web server receives requests. You can see this port number in your Web browser's
Address field when you test the Web service from Visual Web Developer. Unfortunately, Web services executed using Visual Web Developer's built-in server cannot be accessed over a network.
Tutorial Index