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>