wcf一些记录

iis 托管用 Web.config    而HOST托管则是用App.config

目前如果在IIS中有多个服务的话。。  就只能采用引用多个的方式。

在HOST中呢。。 则是注册多个服务的方式

这个只有在自托管中才有的。。也就是NETTCP
nettcp可以注册多个基地址。。 比如说用nettcp和http来注册不同的基地址。

 问题有一个。。 必须是不同的数据传输方式。。最好端口号不同。。

证书的作用: 只不过是用来加密和解密用的。  还有一个好地方就是每个证书的编号都不同。在NETTCP中可以来验证。

证书的方式可以采用两种方式: 1 证书的形式。 2 用户名和密码 只不过这种也是需要用证书的。


在发布服务时。你可以采用多种的方式。 NETTCP 或WSHTTP方式。 可以采用自托管和添加服务引用的方式


每一个终结点只能有一个契约。不能绑定多个

一个服务可有多个终结点地址。  在NETTCP中。中采用基地址的方式。

 先设一个uri ..  在host addserviceEdnpoint时。再加上候缀名。


在服务引用的时候。。  我们如果公开的时HTTP的时候。。 即使是采用自托管也可以


启用可靠性时,nettcp和wshttp时.<bind><reliableSession enable="true"></bind>


在引用添加服务的时候。。 先更新WEB这方面的。。再更新引用,


序列化时。。采用[serializable]即可。。  在WCF中。。NET内建的许多东西都是可以序列化的

当Datamber应用到属性上时。。 属性必须是get 和 set的类型。

要想在客户端引用服务端自定义的类型。 就必须有一个返回值.或参数。 只要参与即可


序列化事件有4个。OnSerialized,OnSerializing,他们对应着这种形式  public MyClass test5() 即他们是传输出去的。
 如果需要改变DataConstruct里面的值时。 就需要用到OnSerializing,它可以改变Dataconstruct里面的值.  实际上他还没有序列化。 还没有出可控范围之外

OnDeserialized  OnDeserializing    public int Test4(MyClass MyClass)
 如果需要改变DataConstruct里面的值时。 就需要用到OnDeserialized  它可以改变Dataconstruct里面的值.  实际上他还已经反序列化。 在可控范围之外

出去用序列化。 进来用反序列化


必备成员:采用Datamember(IsRequired=true)   在序列化的时候没有找到的话。。 则会报错。。 客户端也如此。它也可以设置此值

 

枚举总是会被序列化的。 不需要datacontract

Datatable  dataset 这两个是可序列化的。


byte好像不能用于序列化。。  也就是在数据库中的BOOL字断。。只能在程序中改


实例管理时 单调管理。 当实现了Idispose时, 在客户端用CLOSE方法时。。 它就开始实现它的方法。


 

你可能感兴趣的:(WCF)