信不信由你,无需配置,两个console就好了
service side
1.定义ServiceContract:
2.new a ServiceHost
3. add endpoint
using System.ServiceModel;
namespace Service
{
class Program
{
static void Main(string[] args)
{
Uri address = new Uri("http://localhost:8000/myservice");
using (ServiceHost host = new ServiceHost(typeof(MyService), address))
{
host.AddServiceEndpoint(typeof(IMyService), new BasicHttpBinding(), address);
host.Open();
Console.ReadLine();
}
}
}
[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetService();
}
public class MyService : IMyService
{
public string GetService()
{
return "Got Service!";
}
}
}
namespace Service
{
class Program
{
static void Main(string[] args)
{
Uri address = new Uri("http://localhost:8000/myservice");
using (ServiceHost host = new ServiceHost(typeof(MyService), address))
{
host.AddServiceEndpoint(typeof(IMyService), new BasicHttpBinding(), address);
host.Open();
Console.ReadLine();
}
}
}
[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetService();
}
public class MyService : IMyService
{
public string GetService()
{
return "Got Service!";
}
}
}
client side: get proxy, service 调用
using System.ServiceModel;
namespace Client
{
class Program
{
static void Main(string[] args)
{
IMyService proxy = ChannelFactory<IMyService>.CreateChannel(new BasicHttpBinding(),
new EndpointAddress("http://localhost:8000/myservice"));
Console.WriteLine(proxy.GetService());
Console.ReadLine();
}
}
[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetService();
}
}
namespace Client
{
class Program
{
static void Main(string[] args)
{
IMyService proxy = ChannelFactory<IMyService>.CreateChannel(new BasicHttpBinding(),
new EndpointAddress("http://localhost:8000/myservice"));
Console.WriteLine(proxy.GetService());
Console.ReadLine();
}
}
[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetService();
}
}