wcf小实例

/////////////////////////host
using System;
using System.ServiceModel;
using System.Text;

///host 
namespace Host
{
    public class Host :IHost
    {
        #region IHost 成员

        public string Hello()
        {
            return string.Format("Hello Access Date:'{0}'", DateTime.Now);
        }

        #endregion
    }
    [ServiceContract]
    public interface IHost
    {
        [OperationContract]
        string Hello();
    }
}


///////////////////////////////end host

///////////////////////////service wcf
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;
using Host;

namespace ServiceWCF
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServiceHost host = new ServiceHost(typeof(Host.Host)))
            {
                host.AddServiceEndpoint(typeof(IHost), new NetTcpBinding(), "net.tcp://locahost:9000/Hello");
                host.Open();
                Console.WriteLine("service start aucceed!");
                Console.ReadKey();
            }
           
        }
    }
}
////////////////////////////////end service wcf//////////////////////

/////////////////////client wcf
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;

namespace ClientWCF
{
    class Program
    {
        static void Main(string[] args)
        {
            IHost proxy = ChannelFactory<IHost>.CreateChannel(new NetTcpBinding(), new EndpointAddress("net.tcp://200.1.3.27:9000/Hello"));
            string acc = proxy.Hello();
            Console.WriteLine(acc);
            Console.ReadKey();
        }
    }
    [ServiceContract]
    public interface IHost
    {
        [OperationContract]
        string Hello();
    }
}
////////////////////////////end client wcf



//////////服务端app.config配置文件,,,实现http功能
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <!--            namespace.class                             -->
      <service name ="Host.Host"  behaviorConfiguration ="CalculatorServiceBehavior">
        <!--                                           class.method                             -->
        <endpoint binding="basicHttpBinding" contract="Host.IHost" address="Hello"/>
        <endpoint binding="mexHttpBinding" contract="IMetadataExchange" address="mex" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9100"/>
          </baseAddresses>
        </host>
      </service>
    </services>

    <!--定义CalculatorServiceBehavior的行为-->
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>

        </behavior>

      </serviceBehaviors>

    </behaviors>
  </system.serviceModel>
</configuration>

posted on 2011-06-23 10:22  SonyXbox  阅读(320)  评论(0编辑  收藏  举报

导航