从WCF服务返回MembershipUser
问题描述:
我为我的WCF服务实现了一个SQL成员资格提供程序。该服务通过WPF客户端通过互联网访问。我有一个服务getUser()应该返回一个用户。 可以通过该方法返回MembershipUser,因为我已阅读another thread,因为该类具有SecurityAttribute且XmlSerializer无法对其进行序列化,所以无法这样做。从WCF服务返回MembershipUser
编辑: 也是安全的返回这种类型的客户端。是否有任何滥用的可能性?
答
我不是100%确定该类型是否可以序列化的具体答案......但只是试一试。如果出现错误,那么只需创建一个包含所有需要返回的信息的代理类型即可。并返回您的WCF方法:-)
答
我不记得是否对我们有效,但最坏的情况下,您可以创建一个DTO对象(可以说MyMembershipUser)并创建从MembershipUser到MyMembershipUser的映射。 这应该是非常简单的。
/// <summary>
/// Maps MembershipUser entity to MyMembershipUser business object.
/// </summary>
/// <param name="entity">A MembershipUser entity.</param>
/// <returns>A product business object.</returns>
internal static MyMembershipUser Map(MembershipUser entity)
{
return new MyMembershipUser
{
Id = entity.Id,
Name= entity.Name,
};
}
我可以这样做,但我的服务和客户端已经很大,所以会有很多更改代码。 – Aaron 2012-02-19 14:02:35
这怎么可能?如果您现在正在开发会员供应商,那么依赖关系如何变得如此庞大以至于难以改变?一般来说,您应该努力限制横切问题,如果修改 – 2012-02-19 14:23:37
,我会使用默认的成员资格提供程序并使用它来更改一堆代码。我一直以这种方式工作一个月,但由于这是我的第一个WCF,WPF项目,我没有任何计划,因为我不知道框架的可能性。 – Aaron 2012-02-19 15:50:51