高手赐教 WCF 传递 List 集合,如何 转换
- C# code
namespace SilverlightClient.Web{ [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class DBService { ClassManager cm=new ClassManager(); [OperationContract] public void DoWork() { // 在此处添加操作实现 return; } // 在此处添加更多操作并使用 [OperationContract] 标记它们 [OperationContract] public List<SClass> GetAllClass() { return cm.GetAllClass(); } }}仍然没有看到绑定的数据
[解决办法]
给你举个例子,从回调函数中通过e.Result取出集合再调.ToList()转换成List集合,如果是对象就强转(xxx)e.Result
void gcc_getNameBySearchNameCompleted(object sender, getNameBySearchNameCompletedEventArgs e)
{
IList<string> listString = e.Result.ToList();
acb.ItemsSource = listString;
}
[解决办法]
ServiceContract 作用于你对外公布的接口。而实现接口的类是属于servicebehavior。
还需要添加knowtype的标签属性,让客户端知道泛行的类型
[解决办法]
silverlight 用Ienumrable 这个接口 和 IList可以强转的
[解决办法]
silverlight端用ObservableCollection去接就可以了,如果服务器端是List<SClass>那么返回的结果就是ObservableCollection<SClass>,直接用即可,不一定非要使用List<SClass>呀。你直接使用acb.ItemsSource=他就行了,你就当他是个泛型集合好了
[解决办法]
List<Model>在SL端是可以直接绑定使用的.
如果你一定想要转换,建议使用ObservableCollection,别用List