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方法时。。 它就开始实现它的方法。