我的问题是什么
从 ASMX 服务返回的对象用于 Silverlight 应用程序。类有方法,但 ASMX WebMethod 的结果不显示对象上的方法。
告诉我更多
这是我的课
public class Dog
{
public string Name{get;set;}
public void Bark();
}
这是网络方法
[WebMethod]
public List<Dog> Findlabrador()
{
blah blah blah
return list_of_labrador;
}
银光代码
void LabradorFetchCompleted(object sender, LabradorFetchCompletedEventArgs e)
{
var list_of_labrador = e.Result;
foreach(var labradorDog in list_of_labrador)
{
labradorDog.Bark();
//** WTH my labrador can't BARK** Bark method is not shown in intellisense there is compilation error if i explicitly specify
}
}
我是程序员不是外行
好的嗯,让我把你的话。以下是您重现问题的步骤
创建 Silverlight 应用程序项目(让 VS 创建网站来托管应用程序)
创建 Silverlight 类库 在其中创建 Dog 类
将 Silverlight 类库编译为 assembly(
Dog.dll
)在 silverlight 应用程序项目中添加对
Dog.dll
silverlight 程序集的引用将 WebService 应用程序添加到项目中( DogService.asmx 注意
asmx
扩展名)添加对 Silverlight
Dog.dll
程序集的引用DogService
hardcoded List<Dog>
从其中的 WebMethod返回类添加从服务到 Silverlight 应用程序的引用,创建代理客户端实例并调用方法
看着你的狗也不会吠叫:(