/////////////////////////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>