Click here to Skip to main content
15,886,689 members
Articles / Web Development / ASP.NET

A Beginner's Tutorial on Managing Sequence of Operations in WCF Service

Rate me:
Please Sign up or sign in to vote.
5.00/5 (6 votes)
25 Mar 2013CPOL6 min read 21.7K   257   17  
This article talks about managing sequence of operations in a WCF service.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestClient
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServiceReference1.SampleServiceClient client = new ServiceReference1.SampleServiceClient())
            {
                // let try to call the function that required session to be present
                Console.WriteLine("Scenario 1: let try to call the function that required session to be present");
                try
                {   
                    string result = client.Function2();
                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                // Let us now try to call the terminating function without initating session
                Console.WriteLine();
                Console.WriteLine("Scenario 2: Let us now try to call the terminating function without initating session");
                try
                {
                    string result = client.Function3();
                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                // Now let us call the functions in proper order
                Console.WriteLine();
                Console.WriteLine("Scenario 3:  Now let us call the functions in proper order");
                try
                {
                    string result1 = client.Function1();
                    Console.WriteLine(result1);

                    string result2 = client.Function2();
                    Console.WriteLine(result2);

                    string result3 = client.Function3();
                    Console.WriteLine(result3);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }


                // Now let us call the function2 again when the session has been terminated
                Console.WriteLine();
                Console.WriteLine("Scenario 4:  Now let us call the function2 again when the session has been terminated");
                try
                {
                    string result1 = client.Function1();
                    Console.WriteLine(result1);

                    string result2 = client.Function2();
                    Console.WriteLine(result2);

                    string result3 = client.Function3();
                    Console.WriteLine(result3);

                    // This should now give us the exception
                    string result2_alt = client.Function2();
                    Console.WriteLine(result2_alt);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

            }

            Console.ReadLine();
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
India India

I Started my Programming career with C++. Later got a chance to develop Windows Form applications using C#. Currently using C#, ASP.NET & ASP.NET MVC to create Information Systems, e-commerce/e-governance Portals and Data driven websites.

My interests involves Programming, Website development and Learning/Teaching subjects related to Computer Science/Information Systems. IMO, C# is the best programming language and I love working with C# and other Microsoft Technologies.

  • Microsoft Certified Technology Specialist (MCTS): Web Applications Development with Microsoft .NET Framework 4
  • Microsoft Certified Technology Specialist (MCTS): Accessing Data with Microsoft .NET Framework 4
  • Microsoft Certified Technology Specialist (MCTS): Windows Communication Foundation Development with Microsoft .NET Framework 4

If you like my articles, please visit my website for more: www.rahulrajatsingh.com[^]

  • Microsoft MVP 2015

Comments and Discussions