1.你的第一个服务和主持人
创建一个使用 ServiceContract 属性修饰的界面和使用 OperationContract 属性修饰的成员函数。
namespace Service
{
[ServiceContract]
interface IExample
{
[OperationContract]
string Echo(string s);
}
}
创建一个实现此接口的具体类,你就拥有了该服务。
namespace Service
{
public class Example : IExample
{
public string Echo(string s)
{
return s;
}
}
}
然后创建运行服务的主机。这可以是任何类型的应用程序。控制台,服务,GUI 应用程序或 Web 服务器。
namespace Console
{
using Service;
class Console
{
Servicehost mHost;
public Console()
{
mHost = new ServiceHost(typeof(Example));
}
public void Open()
{
mHost.Open();
}
public void Close()
{
mHost.Close();
}
public static void Main(string[] args)
{
Console host = new Console();
host.Open();
Console.Readline();
host.Close();
}
}
}
ServiceHost 类将读取配置文件以初始化服务。
<system.serviceModel>
<services>
<service name="Service.Example">
<endpoint name="netTcpExample" contract="Service.IExample" binding="netTcpBinding" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9000/Example" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>