我爲我的WCF服務實現了一個SQL成員資格提供程序。該服務通過WPF客戶端通過互聯網訪問。我有一個服務getUser()應該返回一個用戶。 可以通過該方法返回MembershipUser,因爲我已閱讀another thread,因爲該類具有SecurityAttribute且XmlSerializer無法對其進行序列化,所以無法這樣做。從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