WCF


/*----Making  the Simple WCF Service-----*/
/*-----------------service-------------------------------*/
Class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace service
{
    [ServiceContract]
    public interface IService
    {
        [OperationContract]
        int Add(int i,int j);
    }
    public class MyService:IService
    {
        #region IService Members

        public int Add(int i, int j)
        {
            return i + j;
        }

        #endregion
    }
}

/*-----------------service Host--------------------------*/
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace serviceHost
{
    class Program
    {
        static void Main(string[] args)
        {
            Type myservicetype = typeof(service.MyService);
            using (ServiceHost service = new ServiceHost(myservicetype))
            {
                service.Open();
                Console.WriteLine("Service Has Started.....");
                Console.Read();
                service.Close();
            }
        }
    }
}
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="NewBehavior">
                    <serviceMetadata httpGetEnabled="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service behaviorConfiguration="NewBehavior" name="service.MyService">
                <clear />
                <endpoint address="localhost" binding="basicHttpBinding" contract="service.IService"
                    listenUriMode="Explicit">
                    <identity>
                      <dns value="localhost"/>
                        <certificateReference storeName="My" storeLocation="LocalMachine"
                            x509FindType="FindBySubjectDistinguishedName" />
                    </identity>
                </endpoint>
                <endpoint address="mex" binding="basicHttpBinding" bindingConfiguration=""
                   name="mex" contract="IMetadataExchange">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost:8082/service" />
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
</configuration>
/*-----------------service Client-------------------------------*/
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace serviceClient
{
    class Program
    {
        static void Main(string[] args)
        {
            ServiceReference1.ServiceClient obj = new serviceClient.ServiceReference1.ServiceClient();
            Console.WriteLine(obj.Add(10,25));

            Console.Read();
           
        }
    }
}




------------------------------------------------------------------------------------------------------


Difference between stored procedure and function

1) Procedure can return zero or n values whereas function can return one value which is mandatory.
2) Procedures can have input, output parameters for it whereas functions can have only input parameters.
3) Procedure allows select as well as DML statement in it whereas function allows only select statement in it.
4) Functions can be called from procedure whereas procedures cannot be called from function.
5) Exception can be handled by try-catch block in a procedure whereas try-catch block cannot be used in a function.
6) We can go for transaction management in procedure whereas we can't go in function.
7) Procedures cannot be utilized in a select statement whereas function can be embedded in a select statement.

Difference between Abstract and Interface

Abstract Class:

-Abstract class provides a set of rules to implement next class
-Rules will be provided through abstract methods
-Abstract method does not contain any definition
-While inheriting abstract class all abstract methods must be override
-If a class contains at least one abstract method then it must be declared as an “Abstract Class”
-Abstract classes cannot be instantiated (i.e. we cannot create objects), but a reference can be created
-Reference depends on child class object’s memory
-Abstract classes are also called as “Partial abstract classes”
-Partial abstract class may contain functions with body and functions without body
-If a class contains all functions without body then it is called as “Fully Abstract Class” (Interface)

Interface:

-If a class contains all abstract methods then that class is known as “Interface”
-Interfaces support like multiple inheritance
-In interface all methods r public abstract by default
-Interfaces r implementable
-Interfaces cannot be instantiated, but a reference can be created


No comments:

Post a Comment