【发布时间】:2010-01-24 01:20:13
【问题描述】:
我正在尝试在 silverlight 中使用 WCF 服务...
我所做的是为我的数据合同创建两个单独的程序集...
包含我的所有类型的程序集都标记有针对 .Net 3.5 构建的数据协定
链接到第一个程序集中的文件的 Silverlight 程序集。
这意味着我的 .Net 应用程序可以引用程序集 1 和我的 silverlight 应用程序程序集 2。这工作正常,我可以跨服务进行通信。
当我尝试转移继承的类时会出现问题。我有以下类结构...
IFlight - 适用于所有类型航班的界面。
BaseFlight : IFlight - baseflight 飞行实现 IFlight
AdhocFlight : BaseFlight, IFlight - 一个 adhoc 航班继承自 baseflight 并实现了 IFlight。
我可以成功地跨服务转移基础航班。但是,我确实需要能够通过接口传输 IFlight 的对象,因为我想要一个可以传输多种飞行类型的操作合同......
public IFlight GetFlightBooking()
{
AdhocFlight af = new AdhocFlight();
return af;
}
...我认为应该有效吗?
但是我得到了错误:
“服务器没有提供有意义的回复;这可能是由于合同不匹配、会话过早关闭或内部服务器错误造成的。”
任何想法都将不胜感激。
【问题讨论】:
-
您是否有理由手动创建具有相应类型的 Silverlight 程序集,而不是使用 slsvcutil.exe 或自动为您生成所有类型的“添加服务引用”功能?
标签: wcf silverlight serialization datacontract