我在使用WCF服务时遇到此错误:
类型' ** '不能从未标记为DataContractAttribute或SerializableAttribute的类型继承。
考虑使用DataContractAttribute或SerializableAttribute标记基类型“Microsoft.WindowsAzure.StorageClient.TableServiceEntity”,或者从派生类型中删除它们。
我的Silverlight应用程序可以使用它,但是使用MVC Web应用程序我得到了错误...
任何人都可以帮我解决这个问题
答案 0 :(得分:0)
如果没有更多关于实现的细节,很难说,但这听起来像是在每个应用程序中如何设置类定义的不匹配。可能是silverlight应用程序项目引用了Microsoft.WindowsAzure.StorageClient dll,但另一个没有,或者可能是它们引用了不同的版本,并且它只在其中一个中标记为可序列化。传入/传出WCF服务的所有数据必须以某种方式可序列化。
您如何共享数据协定的基类的类定义以及WCF服务和2个不同应用程序之间的继承类?您能否发布导致序列化错误的数据合同的更多细节?
答案 1 :(得分:0)
我检查了Microsoft.WindowsAzure.StorageClient dll,我在两个项目中都有它。
我有这个类实现:
public class Template : TableServiceEntity
{
public Template()
{
this.PartitionKey = string.Empty;
this.RowKey = Guid.NewGuid().ToString();
}(...)