![]() |
1
3
我在Silverlight和普通clr之间共享代码的方式是将“添加为链接”功能与C项目一起使用。结果是这样的:
然后,VS工作正常,两组代码都被编译。令人恼火的部分是Silverlight框架没有对齐。(WCF有一些在SL中不存在的部分。)在这种情况下,您需要使用预处理器“if silverlight”使代码面向两个平台。 到目前为止,这已经很有效了。通过这种方式,我可以编写代码,使用VST进行测试,但仍然可以从同一个源代码对SL进行测试。一些提示:
|
![]() |
2
1
我过去有两种方法可以做到这一点。 第一个也是最简单的。将WCF服务作为ServiceReference添加到Silverlight中。这将负责重新生成所有类库,并在需要时刷新它们。 其次,存储两个类的副本,一个在Silverlight中,一个在.NET3.5clr中。然后确保DataContract名称和命名空间匹配。如果在Silverlight中添加ServiceReference,那么在资源管理器中查看ServiceReference文件夹并查看reference.cs文件,您将看到生成的类并可以复制这些类。 |
![]() |
3
0
不确定在您的场景中是否可能,但您是否考虑将序列化为JSON的对象提供给您的Silverlight客户端?然后在Silverlight应用程序中,您可以使用 JsonObject 在Silverlight中。这样可以避免在Silverlight应用程序中使用另一组模型对象。
示例来自 this msdn sample 这种方法的好处还在于您在Silverlight中支持LINQ,而且它也可以被Ajax客户机使用。它也比将真实对象暴露于客户端上运行的Silverlight应用程序更安全。 |
![]() |
Bigeyes · 如何在MVVM模式中添加行? 8 年前 |
![]() |
User9898 · 悬停回到原始颜色时为什么选择 8 年前 |
![]() |
Huma Ali · WCF已完成事件中的异常处理 9 年前 |
![]() |
Nerd in Training · 文件副本发布错误 9 年前 |