如何在 WCF 和 Silverlight 应用程序上使用相同的类库
本文关键字:类库 程序上 应用程序 WCF 应用 Silverlight | 更新日期: 2023-09-27 18:33:32
嗨,我想使用我的 Silverlight 应用程序和基于 WCF 的服务中的同一类库。我创建了一个 Silverlight C# 类库,发现 WCF 服务不允许添加对 Silverlight 项目类型的引用。所以
-
我应该怎么做才能完成这项工作?
如果 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