Course Catalog
Curriculum Guides
Buy Courseware
Technical Library
About Object Innovations
Contact Us

877-558-7246 (toll free)  

4150. Web Services Using C# and .NET

Rev. 4.6


This course provides a realistic, hands-on and comprehensive coverage of developing Web services using .NET and C#. Web services are an evolving series of standards that enable programs on various computers to communicate with other programs on similar or disparate computers transparently over the Internet. This course teaches in detail the skills needed to program Web services using .NET technologies, both ASP.NET and Windows Communication Foundation (WCF). The last chapter introduces ASP.NET Web API. The course also examines the fundamentals of SOAP, WSDL and REST. It is current to .NET 4.5.1 and Visual Studio 2013, with coverage of newer features such as the WS-I Basic Profile 1.1, SOAP 1.2, the event pattern for calling Web services asynchronously, support for RESTful services, and more.


The first chapter introduces Web services and Service Oriented Architecture (SOA). The baseline Web service specifications of XML, SOAP, WSDL and UDDI are outlined.

Chapter 2 covers the fundamentals of SOAP and WSDL. Web services are developed using the .NET Framework SDK. Chapter 3 covers the details of how to create and debug ASP.NET Web services using Visual Studio 2013.


Chapter 4 shows how to create clients for Web services using an SDK tool and using Visual Studio 2013. Sophisticated topics, such as state management, caching and transactions in Web services are covered in Chapter 5. The next three chapters discuss important technologies at the foundation of .NET Web services, including XML serialization, SOAP and WSDL.


Chapter 9 provides a practical discussion of data access using Web services. Chapter 10 introduces Windows Communication Foundation. The course concludes with a chapter on ASP.NET Web API, which is a great platform for creating RESTful services and can be used more widely.




         Gain a comprehensive understanding of the philosophy and architecture of Web services and Service Oriented Architecture

         Acquire a working knowledge of creating and consuming Web services using the .NET Framework 4..5.1 and Visual Studio 2013

         Attain a detailed knowledge of the building blocks of Web services, including XML, SOAP and WSDL

         Understand issues in the ASP.NET programming model, such as caching, data handling and state management

         Implement Web services and clients using WCF.

         Understand the issues of interoperability between Web services created using ASP.NET and those created using WCF

         Attain a working knowledge of ASP.NET Web API and its use in creating HTTP services and clients.

         Understand the principles of Representational State Transfer and how to implement RESTful services and clients using ASP.NET Web API.


Course Duration: 4 days


Prerequisites: Knowledge of the .NET Framework using C# and an understanding of the fundamentals of XML. Some experience in ASP.NET is advantageous.


1.      What Are Web Services?

Introduction to Distributed Computing

Network Latency

Object State and Scalability





Web Service Business Models

Service Oriented Architecture (SOA)

ASP.NET Web Services

Windows Communications Framework (WCF)

Representational State Transfer (REST)



2.      Web Services Fundamentals

Creating a Web Service Using ASP.NET

Deploying a Web Service Using IIS

Testing a Web Service



SOAP 1.1 and SOAP 1.2

Web Service Clients



3.      Developing ASP.NET Web Services

Using Visual Studio 2013 to Develop Web Services

Visual Web Developer

Using ASP.NET Development Server

An Overview of the Web Services Namespaces

Deriving from the WebService Class

@Webservice Attribute

WebService Class

Adding a WebMethod to Web Services

Debugging Web Services

WS-I Basic Profile

ASP.NET Configuration


4.      Web Service Clients

Web Service Proxies

Web Services Description Language Tool (Wsdl.exe)

Understanding the Proxy Code

Creating a Proxy with Visual Studio 2013

Returning Complex User-Defined Data Types


5.      ASP.NET Web Services Programming Model

Asynchronous Programming in Web Services

Asynchronous Events in .NET 4.0

Managing State in ASP.NET Web Services

Transactions in ASP.NET Web Services

Caching in ASP.NET Web Services


6.      XML Serialization


What Is Not Serialized

Writing and Reading XML

Customizing XML Serialization

XML Schema and XSD

Creating Classes from Schemas

XML Serialization and Web Services


7.      More about SOAP

The Structure of SOAP Messages

Using SOAP Headers

SOAP Faults

Document and RPC Style Messaging

Literal and Encoded Use

Customizing SOAP with Attributes

Using SOAP 1.2


8.      More about WSDL

The Need for Service Description

An IDL for Web Services

WSDL Namespaces

The WSDL Description Model

WSDL Descriptors as Schema

Message Description

Messaging Scenarios

Operations: Input, Output, and Fault


Service Description

Extending WSDL

.NET WSDL Classes

WSDL First!


9.      Data Access with Web Services

Multiple-Project Solutions in Visual Studio

Multiple-Tier Data Access

Data Access Using ADO.NET

A Data Access Web Service

Data Binding with Windows Forms

Binding to a Web Service


10. Introduction to WCF

What is WCF?

Address, Binding and Contract

WCF Services and Clients

IIS Hosting

Interoperability with ASMX Web Services

Data Contracts



11. Introduction to Web API


Representational State Transfer

REST and Web API

HTTP Services Using Web API

Using Fiddler

ASP.NET Web API Clients

CRUD Operations


Appendix A. Learning Resources

Appendix B. Hosting in IIS 7.5


Installing IIS 7.5

IIS Manager

ASP.NET with IIS 7.5


System Requirements


Recommended software is Visual Studio Professional 2013, although it is feasible to use a combination of the free Visual Studio Express 2013 for Web and Visual Studio Express 2013 for Windows Desktop. The recommended operating system is Windows 7. Internet Information Services should be installed. See the course Setup Notes for details.


A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.