我想使用通用DataContract類,這樣我就不必爲不同對象的集合實現幾種類型。Agatha WCF中的通用DataContract
經驗:
我有一個包含對象的集合配置文件對象。
所以我想有一個Profile<Foo>
和Profile<Foo1>
其中配置文件包含Foo或Foo1對象的集合。
我一直在閱讀WCF不支持泛型類,實際上我得到的錯誤如下。
Type 'GL.RequestResponse.ProfileResponse
1 [T]'不能作爲模式類型導出,因爲它是一個開放的泛型類型。如果所有通用參數類型都是實際類型,則只能導出通用類型。'
現在ProfileResponse就是我正在嘗試使用的這個Profile對象。
現在在我的主機我正在做以下。 :
ServiceConfig(typeof(ProfileHandler<EducationResponse>).Assembly,
typeof(ProfileRequest).Assembly,
typeof(Container)).Initialize();
這是dhe定義與datacontract處理程序。
public class ProfileHandler<T> : RequestHandler<ProfileRequest,
ProfileResponse<T>>
Container正在使用Windsor Container來註冊對象。
註冊工作正常,但在我實例化服務主機的WCF處理器,並調用主機的打開方法我得到上述錯誤。
真的沒有辦法讓我用agatha寫wcf的通用響應請求嗎? 感覺這樣的浪費必須爲該集合中包含的每種類型定義配置文件容器類。
謝謝。