如何在 WCF 和 Silverlight 应用程序上使用相同的类库

本文关键字:类库 程序上 应用程序 WCF 应用 Silverlight | 更新日期: 2023-09-27 18:33:32

嗨,我想使用我的 Silverlight 应用程序和基于 WCF 的服务中的同一类库。我创建了一个 Silverlight C# 类库,发现 WCF 服务不允许添加对 Silverlight 项目类型的引用。所以

  • 我应该怎么做才能完成这项工作?

  • 如果 Silverlight
  • 与 WCF 服务通信,它是否可以调用 Silverlight 类库上的方法?

  • 银光总是这么难吗?

如何在 WCF 和 Silverlight 应用程序上使用相同的类库

可移植类库

http://msdn.microsoft.com/en-us/library/gg597391.aspx

尝试创建 2 个类库,一个用于 Silverlight,一个用于 WCF。两者都使用相同的 C# 源代码文件。在第二个项目中,可以将文件添加为链接(在解决方案资源管理器的 Visual Studio 中:添加现有项,然后在下拉的"添加"按钮中,选择"添加为链接"。

这就是我们为共享代码解决它的方式。但是,您必须将自己限制在两个世界中都存在的库调用中。

现在很容易:D - 只需使用.shared技巧即可。它允许您在服务器和客户端之间共享相同的代码。看这里: http://msdn.microsoft.com/en-us/library/ee707371(v=vs.91).aspx

PS.:您甚至可以在 .shared 类上添加条件指令,如下所示:

#if SILVERLIGHT
        MessageBox.Show("yay, I will run only on silverlight");
#endif