Exams 70-310 and 70-320

Developing XML Web Services and Server Components with
Microsoft Visual C# .NET
Microsoft Visual Basic .NET
and the Microsoft .NET Framework

These notes began with the "Skills Being Measured" on Microsoft's page for these exams as of June 3, 2002. Note that the skills for 70-320 are identical to the skills for 70-310. That's why Microsoft won't give you credit for passing both - it's really one exam that really requires no particular language expertise.

All hierarchically lettered and numbered items are directly from this MS list. Almost all links lead to http://msdn.microsoft.com online pages, a few more link to www.gotdotnet.com, and there are some that lead elsewhere. Here is some information about the evolution of links from local help files to msdn.microsoft.com, if you're particularly bored. 

The list is by no means complete or error free. Please if you find any additional links or ones that I've listed that are broken or irrelevant.


I took 70-320 on June 23, 2002. It seems like a relatively difficult MS exam, but does follow the topics listed pretty closely. I should know by the end of August whether I passed or not. I think I did, but am much less confident than I've been for most exams. My ritualistic self-scoring at the end of the exam predicted a score of 708.

I'm moving on for now to the 70-315 beta exam, which I'll take on July 7, 2002. I'll put similar notes for that one here.

I found out on August 2, 2002 that I passed 70-320 during the beta. I expect this also means it'll be going live shortly.


I took 70-310 on April 19, 2003. This finally completes my plan to take all of the C# and VB.Net exams, even though MS rightfully considers the exams redundant. Now I won't have to discuss that with any prospective customers, students, or employers. To prepare for this 'retake', I reviewed some of the links on this page, but also read the Microsoft Press Training Kit for 70-310 and 70-320. The book seemed like it wasn't going into nearly enough depth. It's a lot shorter than it appears - most code examples are repeated for both VB.Net and C#, and many of them also include boilerplate designer code that's conveniently hidden by default in VS.Net. I went through the included practice exam once. It 'sort of' lets you review your answers after you finish. The limitations all seem to relate to the glaringly bad user interface. Answer options aren't identified with letters or anything else, and the 'explanations' just seem to comment on the selection you made. So if you chose the wrong answer, it often would not tell you what the correct answer was.

While I still think the practice exam with the training kit is of low quality, the book itself may have been OK. This exam seemed much easier than I found the 70-320 beta. Part of that is because I'm smarter now than I was last June, but I suspect the beta process may have weeded out a lot of difficult questions. I don't think the 'retake' factor had much effect - I don't even remember what I had for dinner last night, and hadn't made any notes for myself after the 70-320 beta. There were a couple of questions that seemed familiar, but the overwhelming majority were effectively new to me.

I had 57 questions, 120 minutes to answer them, and predicted a score of 877 this time.


Skills Being Measured

This certification exam measures your ability to develop and implement middle-tier components, server components, and XML Web services by using Visual Studio .NET and the Microsoft .NET Framework. Before taking the exam, you should be proficient in the job skills listed below.

  1. Creating and Managing Microsoft Windows® Services, Serviced Components, .NET Remoting Objects, and XML Web Services
    Choosing Communication Options in .NET [Added June 19, 2002]
    ONDotnet.com: .NET Serviced Components [Added October 10, 2004]
     
    1. Create and manipulate a Windows service.
      1. Write code that is executed when a Windows service is started or stopped.
        Creating ServiceController Component Instances
        Walkthrough: Creating a Windows Service Application in the Component Designer
        Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy -- MSDN Magazine, December 2001 [Added March 18, 2003]
         
    2. Create and consume a serviced component.
      Serviced Component Overview
      Serviced Component Programming Guidelines
      Summary of Available COM+ Services
      Applying Attributes to Configure COM+ Services
       
      1. Implement a serviced component.
        Serviced Component Example
         
      2. Create interfaces that are visible to COM.
        Applying Interop Attributes

        Qualifying .NET Types for Interoperation

        Packaging an Assembly for COM

        Registering Assemblies with COM

        Referencing .NET Types from COM

        Calling a .NET Object

        Deploying an Application for COM Access
         
      3. Create a strongly named assembly.
        Creating and Using Strong-Named Assemblies

        Strong Name Scenario

        Creating a Key Pair

        Signing an Assembly with a Strong Name

        Referencing a Strong-Named Assembly

        Creating Assemblies
         
      4. Register the component in the global assembly cache.
        Registering Serviced Components

        Using Serviced Components with the Global Assembly Cache

        Working with Assemblies and the Global Assembly Cache

        Installing an Assembly into the Global Assembly Cache

        Removing an Assembly from the Global Assembly Cache
         
      5. Manage the component by using the Component Services tool.
        Managing Pooled Pipelines
        Configuring COM+ Applications [Added December 18, 2003]
         
    3. Create and consume a .NET Remoting object.
      A .NET Remoting Primer
      [intrinsyc.com] [long overdue link correction made February 5, 2006]
      Microsoft .NET Remoting: A Technical Overview

      .NET Remoting Overview
       
      1. Implement server-activated components.
        Activation URLs

        Server Activation

        Server-Side Registration

        Versioning
         
      2. Implement client-activated components.
        Server-Side Registration

        Versioning
        Client Activation
         
      3. Select a channel protocol and a formatter. Channel protocols include TCP and HTTP. Formatters include SOAP and binary.
        Message Serialization

        TcpChannel

        HttpChannel

        Channels

        Specifying the Formatter for Retrieved Messages

        Channel and Formatter Configuration Properties
         
      4. Create client configuration files and server configuration files.
        Configuration Files

        Introduction to Dynamic Properties
         
      5. Implement an asynchronous method.
        Asynchronous Remoting
        Delegates, Events, and Remoting [local ms-help// link - no longer available on msdn.microsoft.com. See this page about ms-help versioning for info on changing the link to work with your msdn version. - December 18, 2003]
        Remoting Example: Asynchronous Remoting
        Multithreaded Programming with Visual Basic .NET [Added December 18, 2003]
         
      6. Create the listener service.
         
      7. Instantiate and invoke a .NET Remoting object.
        Remoting Examples [added June 16 2002]
         
    4. Create and consume an XML Web service.
      XML Web Services Overview

      Anatomy of an XML Web Service Lifetime

      Walkthrough: Creating an XML Web Service Using Visual Basic or Visual C#

      Walkthrough: Accessing an XML Web Service Using Visual Basic or Visual C#
       
      1. Control characteristics of Web methods by using attributes.
        Using the WebMethod Attribute [Added June 20, 2002]
         
      2. Create and use SOAP extensions.
        Fun with SOAP Extensions
          [Beta 1 code - fixing for release version an exercise for the student]
        SoapExtension Class [Added June 22, 2002] Note: To debug, create a Web Application client. The default Web Service debug pages use HTTP, not SOAP, and the SOAP Extension will not be used.
         
      3. Create asynchronous Web methods.
        Creating an XML Web Service Method

        Defining XML Web Service Methods

        Communicating With XML Web Services Asynchronously

        XML Web Services: Windows Forms Client/Asynchronous XML Web Service Sample
         
      4. Control XML wire format for an XML Web service.
        XML Web Service Wire Formats
         
      5. Instantiate and invoke an XML Web service.
        Building XML Web Service Clients

        Creating an ASP.NET Web Form Client

        Creating a Console Application Client
         
    5. Implement security for a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      Specifying the Security Context for Services

      Role-Based Security

      Security

      Role-based Security in Managed Applications

      HttpChannel Web Security

      Securing XML Web Services Created Using ASP.NET

      Web Application Security at Run Time

      Designing Secure ASP.NET Applications

      Code Access Security
      [Added June 19, 2002]
      ASP.NET Authentication [Added June 22, 2002]

       
    6. Access unmanaged code from a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      Using the DllImport Attribute
      [Managed C++]
      Consuming Unmanaged DLL Functions

      Platform Invoke Examples

      Passing Structures

      Implementing Callback Functions
       
  2. Consuming and Manipulating Data
    1. Access and manipulate data from a Microsoft SQL Server™ database by creating and using ad hoc queries and stored procedures.
      Build a WinForms App With ADO .NET
      Introduction to DataCommand Objects in Visual Studio

      Setting and Getting Data Command Parameters
       
    2. Create and manipulate DataSets.
      Creating and Using DataSets
      Walkthrough: Displaying Data in a Windows Form Using a Parameterized Query
       
      1. Manipulate a DataSet schema.
        Introduction to Datasets

        Using Annotations with a Typed DataSet
         
      2. Manipulate DataSet relationships.
        Adding a Relationship between Tables

        Navigating a Relationship between Tables
         
      3. Create a strongly typed DataSet.
        Generating a Strongly Typed DataSet
         
    3. Access and manipulate XML data.
      1. Access an XML file by using the Document Object Model (DOM) and an XmlReader.
        Reading XML with the XmlReader

        .NET Samples - How To: Data and ADO.NET
        [ReadAndWriteXML Sample]
        .NET Samples - How To: XML Data
        [ReadXmlFile Sample]
        Comparing XmlReader to SAX Reader
         
      2. Transform DataSet data into XML data.
        XML and the DataSet
         
      3. Use XPath to query XML data.
        Performing an XPath Query on a DataSet
         
      4. Generate and use an XSD schema.
        Relationship Between XML Schemas and Datasets

        Creating ADO.NET Typed DataSets from Schemas

        Writing DataSet Schema Information as XML Schema (XSD)

        Walkthrough: Reading XML Data into a Dataset
         
      5. Write a SQL statement that retrieves XML data from a SQL Server database.
        Guidelines for Using the FOR XML Clause

        Basic Syntax of the FOR XML Clause

        Retrieving and Writing XML Data

        Retrieving Result Sets into Streams
         
      6. Update a SQL Server database by using XML.
        DiffGrams

        Executing a DiffGram using ADO [updated to SQLXML3 link October 10, 2004]
        DiffGram Examples [updated to SQLXML3 link October 10, 2004]
        An Application to Access SQLXML 2.0 Functionality in the .NET Environment [updated to SQLXML3 link October 10, 2004]
         
      7. Validate an XML document.
        XML, Validation, and Extra Cheese

        Validation of XML with Schemas

        Validate XML as it Loads into the DOM
         
  3. Testing and Debugging
    Testing

    The VS7 Debugger doesn't work. What can I do?
    [gotdotnet document]
     
    1. Create a unit test plan.
      Unit Testing
       
    2. Implement tracing.
      ASP.NET Trace

      Introduction to Instrumentation and Tracing
       
      1. Configure and use trace listeners and trace switches.
        Trace Listeners

        Creating and Initializing Trace Listeners

        Trace Switches

        Creating and Initializing Trace Switches

        Configuring Trace Switches

        Adding Trace Statements to Application Code
         
      2. Display trace output.
        Enabling Application-Level Tracing
         
    3. Instrument and debug a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      Debugging
      Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy -- MSDN Magazine, December 2001 [Added March 18, 2003]
       
      1. Configure the debugging environment.
        Specifying Debugger Settings

        C# and Visual Basic Project Types
         
      2. Create and apply debugging code to components and applications.
        Debugging Managed Code
         
      3. Provide multicultural test data to components and applications.
        Localization Testing
         
      4. Execute tests.
        Testing Scalability and Performance Portal
         
    4. Use interactive debugging.
      Walkthrough: Debugging a C# Web Form

      Debugging ASP.NET Web Applications
      OnStart Method
       
    5. Log test results.
      1. Resolve errors and rework code.
         
      2. Control debugging in the Web.config file.
        Application Configuration Files

        Debug Mode in ASP.NET Applications
         
      3. Use SOAP extensions for debugging.
        Fun with SOAP Extensions

        An Exception to the Rule, Part I

        An Exception to the Rule, Part II

        Custom ASP.NET SOAP Extension for tracing SOAP messages
        [gotdotnet zipped archive]
         
  4. Deploying Windows Services, Serviced Components, .NET Remoting Objects, and XML Web Services
    Deploying XML Web Services

    Deploying XML Web Services in Managed Code
    Installing and Uninstalling Services
     
    1. Plan the deployment of and deploy a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      Deploying XML Web Services
       
    2. Create a setup program that installs a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      1. Register components and assemblies.
        Assembly Registration Tool (Regasm.exe)

        .NET Services Installation Tool (Regsvcs.exe)

        Registering Serviced Components

        Manually Registering an Assembly

        Dynamically Registering an Assembly
         
    3. Publish an XML Web service.
      XML Web Service Description

      Enabling Discovery for an XML Web Service

      Deploying XML Web Services in Managed Code
       
      1. Enable static discovery.
        XML Web Service Discovery
         
      2. Publish XML Web service definitions in the UDDI.
        XML Web Services Directories

        UDDI: an XML Web Service
         
    4. Configure client computers and servers to use a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      Building XML Web Service Clients
       
    5. Implement versioning.
      Versioning

      Assembly Versioning

      Components and Assemblies

      Versioning Components

      Deploying Versioned Components

      Versioning Strong Names
       
    6. Plan, configure, and deploy side-by-side deployments and applications.
      About Isolated Applications and Side-by-side Assemblies
      Side-by-side Assemblies
      Guidelines for Creating Side-by-side Assemblies
      Side-by-Side Execution [link fixed October 10, 2004]
       
    7. Configure security for a Windows service, a serviced component, a .NET Remoting object, and an XML Web service.
      Securing XML Web Services Created Using ASP.NET

      Authentication in ASP .NET: .NET Security Guidance
        [Added June 19, 2002]
      Building Secure Serviced Components [Added December 18, 2003]
       
      1. Configure authentication type. Authentication types include Windows authentication, Microsoft .NET Passport, custom authentication, and none.
        Authentication

        ASP.NET Authentication
         
      2. Configure and control authorization. Authorization methods include file-based authorization and URL-based authorization.
        Authorization

        ASP.NET Authorization
         
      3. Configure and implement identity management.
        ASP.NET Impersonation

        Authentication in ASP .NET: .NET Security Guidance

        ASP.NET Architecture

Home    Back to Certification Stuff

about this page

Last Update: February 05, 2006

Hit Counter