Programing WCF Service(WCF编程 第2版 Juval Lowy著 张逸 译)学习笔记(1)
2011-10-13 16:53
323 查看
1. 实例:
//定义一个单独契约,有利于在不同场景下使用契约
[Servicecontract]
interface ImyContract
{
[Operationcontract]
string MyMethod();
}
class MyService:IMyContratct
{
string MyMethod()
{
return "Hello WCF";
}
}
注意:
Page21: 服务类还有一些实现上的约束,我们避免使用带参构造函数,因为WCF只能使用默认构造函数。同样,虽然类可以使用内部(internal)的属性、索引器以及静态成员,但WCF客户端确无法访问它们。
2. 契约命名空间与操作别名:
//命名空间
[Servicecontract(Namespace="MyNamespace")]
interface ImyContract
{
//操作别名
[Operationcontract(Name="SomeOperation")]
string MyMethod();
}
3. 托管:
WCF服务类不能凭空存在。每个WCF服务都必须托管(host)在Windows进程中,该进程被称为宿主进程(Host Process)。单个宿主进程可以托管多个服务,而相同的服务类型也能够拖过在多个宿主进程中。
(1) IIS 托管
只能使用HTTP协议
(2)自托管
App.Config:
<system.serviceModel>
<services>
<service name="MyNamespace.MyService">
.....
</service>
</services>
</system.serviceModel>
public static void Main()
{
ServiceHost host = new ServiceHost(typeof(MyService));
host.open();
Application.Run(new MyForm());
host.close();
}
//定义一个单独契约,有利于在不同场景下使用契约
[Servicecontract]
interface ImyContract
{
[Operationcontract]
string MyMethod();
}
class MyService:IMyContratct
{
string MyMethod()
{
return "Hello WCF";
}
}
注意:
Page21: 服务类还有一些实现上的约束,我们避免使用带参构造函数,因为WCF只能使用默认构造函数。同样,虽然类可以使用内部(internal)的属性、索引器以及静态成员,但WCF客户端确无法访问它们。
2. 契约命名空间与操作别名:
//命名空间
[Servicecontract(Namespace="MyNamespace")]
interface ImyContract
{
//操作别名
[Operationcontract(Name="SomeOperation")]
string MyMethod();
}
3. 托管:
WCF服务类不能凭空存在。每个WCF服务都必须托管(host)在Windows进程中,该进程被称为宿主进程(Host Process)。单个宿主进程可以托管多个服务,而相同的服务类型也能够拖过在多个宿主进程中。
(1) IIS 托管
只能使用HTTP协议
(2)自托管
App.Config:
<system.serviceModel>
<services>
<service name="MyNamespace.MyService">
.....
</service>
</services>
</system.serviceModel>
public static void Main()
{
ServiceHost host = new ServiceHost(typeof(MyService));
host.open();
Application.Run(new MyForm());
host.close();
}
相关文章推荐
- Android Service学习笔记
- Android开发学习笔记:Service的简介和启动方式
- Mule ESB 学习笔记(11)Web Service Proxy(这里是一个可以正常运行的例子)
- 《Javascript高级程序设计》(第2版)学习笔记13--关于事件
- Binder学习笔记(六)—— binder服务端是如何组织addService数据的
- 『框架设计(第2版)CLR Via C#』学习笔记——使用is和as操作符来进行强制类型转换
- (5)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- 熔断降级(Polly)
- (7)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- 利用Polly+AOP+依赖注入封装的降级框架
- 学习笔记——mail发送javax.mail.AuthenticationFailedException: failed to connect at javax.mail.Service.connect(Service.java:322) at javax.mail.Service.connect(Service.java:172) at javax.mail.Service.connect
- Android开发学习笔记之service
- ROS 进阶学习笔记(15) - Use Service to play ROS-Serial communication
- Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法
- 步步为营 SharePoint 开发学习笔记系列 九、SharePoint web service 开发(上)
- Android开发学习笔记(2):Service的简介和启动方式
- Service学习笔记(一)
- Binder学习笔记(四)—— ServiceManager如何响应checkService请求
- JavaScript高级程序设计(第2版) 学习笔记:(二)js函数作用域与闭包
- Future,FutureTask,Executors,ExecutorService,Callable学习笔记
- 《Javascript高级程序设计》(第2版)学习笔记14--Form表单
- Binder学习笔记(四)—— ServiceManager如何响应checkService请求