【发布时间】:2017-06-21 00:11:18
【问题描述】:
我想在 Silverlight 中创建和使用 WCF 服务。我创建了一个从数据库返回此模型的服务:
namespace SilverlightWithWCFService.Web
{
[DataContract]
public class Customer
{
[DataMember]
public string CustomerName { get; set; }
[DataMember]
public string CompanyName { get; set; }
[DataMember]
public string ContactName { get; set; }
}
}
服务如下所示:
namespace SilverlightWithWCFService.Web
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class SampleService
{
[OperationContract]
public List<Customer> CustomerList()
{
var custList = new List<Customer>();
// populate custList
return custList;
}
}
}
}
在我的 Silverlight 应用程序中,我添加了一个服务参考。该方法调用服务操作:
public Page()
{
InitializeComponent();
SampleServiceClient client = new SampleServiceClient();
client.CustomerListCompleted += new EventHandler<CustomerListCompletedEventArgs>(client_CustomerListCompleted);
client.CustomerListAsync();
}
void client_CustomerListCompleted(object sender, CustomerListCompletedEventArgs e)
{
CustomerGrid.ItemsSource = e.Result;
}
所以我的问题是:我不知道 Silverlight 如何与 WCF 一起工作。我是否必须在 WCF 端序列化某些东西并在客户端反序列化返回值?如果是这样,缺少什么代码? (在哪里?)
更新:
我认为基于一些在线questions。我应该在完成的事件代码中反序列化返回的e.Result吗?
【问题讨论】:
-
“我是否必须在 WCF 端序列化某些内容并在客户端反序列化返回值?” - 不需要。 “如果是这样,缺少什么代码?(在哪里?)” - 在您的问题中,缺少问题陈述。
-
@CodeCaster,感谢编辑。
-
不客气。您现在可以添加您遇到的实际问题吗?
标签: c# .net wcf silverlight