1、通过接口的形式定义服务契约,应用ServiceContractAttribute特性;
相应的操作方法应用OperationContrackAttribute特性;
2、定义服务类实现接口中所有的方法。
3、寄宿服务:
1)、完全代码的方式;
2)、app.config配置+简短代码;
3)、IIS寄宿 +简短代码 //推荐使用这种:svc文件+Web.config
简短代码示例:
using (ServiceHost calculatorServiceHost=new ServiceHost(typeof(GeneralCalculatorService)))
{
calculatorServiceHost.Opened+=delegate
{
Console.WriteLine("Calculator Service has begin to listen....");
}
calculatorServiceHost.Open();
Console.Read();
}
Web.config配置实例:
3: <system.serviceModel>
4: <behaviors>
5: <serviceBehaviors>
6: <behavior name="metadataBehavior">
7: <serviceMetadata httpGetEnabled="true"/>
8: </behavior>
9: </serviceBehaviors>
10: </behaviors>
11: <services>
12: <service behaviorConfiguration="metadataBehavior" name="Artech.WcfServices.Services.CalculatorService">
13: <endpoint binding="wsHttpBinding" contract="Artech.WcfServices.Contracts.ICalculator" />
14: </service>
15: </services>
16: </system.serviceModel>
这基本上和上面通过自我寄宿方式定义的配置一致。唯一不同的是在添加的终结点中无须指定地址,因为.svc所在的地址就是服务的地址。