博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WCF中不能传输IPrincipal,IIdentity之类的解决方法

Posted on 2007-07-15 22:00  江南白衣  阅读(491)  评论(1编辑  收藏  举报

  用IPrincipal作为参数在WCF中传输的时候,比如:client.Ahenticate(Thread.CurrentPrincipal);
总是提示说无法正常序列化,琢磨了好多天都不清楚怎么回事。刚才在看《Programming WCF Service》一书中的“Data Contract Hierarchy”章节的时候,找到了解决方法:在[ServiceContract]下加上:   
 [ServiceKnownType(typeof(GenericPrincipal))]
    [ServiceKnownType(typeof(GenericIdentity))]
  其它无法序列化的解决方法也类似。

 存笔以录。