按照写不写代码来分,有2种
1. self host
就是自托管。通过代码创建ServiceHost实例来实现托管
public static void Main()
{
Uri baseAddress = new Uri("http://localhost:80000");
ServiceHost host = new ServiceHost(typeof(MyService), baseAddress);
host.Open();
.....
....
host.Close();
}
2. server host
依靠服务器来发布服务,现在基本上最多的就是IIS。还有一种叫做WSA(Windows激活服务),这个东西比IIS更强大,但是仅仅限于Vista系统。
这种方式发布服务不需要些任何代码,只需要创建.svc文件,同时配置config文件即可。
- .svc文件指定了,服务名称和服务的实现类。这种文件基本上只包含一行。
<%@ServiceHost Language="C#" Debug="ture" CodeBehind="!/App_Code/MyService.cs" Service="MyService"%>
- config里面配置了服务的具体定义
<system.serviceMode>
<services>
<service name="MyNamespace.MyService" />
</services>
</system.serviceMode>