0
在我的ASP.NET網站中,所有對數據層的調用都將返回實體作爲接口,並且網站不需要知道具體類型是什麼。這工作正常,但我嘗試將其中一種類型存儲到用戶配置文件時遇到問題。我的界面實現了ISerializable,如下所示:在ASP.NET配置文件中存儲接口類型
public interface IInsured : IPerson, IEntity, ISerializable
並且數據層中的具體類型確實實現了ISerializable。在web.config中我的個人資料屬性是:
<add name="ActiveInsured" type="FacadeInterfaces.IInsured" serializeAs="Binary" defaultValue="[null]"/>
它編譯就好了,但我得到一個運行時錯誤的Profile.Save()說,接口不能被序列化。我也用serializeAs =「Xml」來試用它。我認爲如果我的界面實現了ISerializable,它就可以工作。
以前有人遇到過這個問題或知道解決方法嗎?
我在配置文件中存儲泛型列表時遇到了類似的問題。我的解決方法是創建一個從通用列表繼承的類。例如公開課最近瀏覽:列表也許這會適合你? –
2009-08-12 16:12:04