Silverligtht WCF通过Prism启用服务

时间:2011-10-01 01:20:40

标签: wcf silverlight dependency-injection devforce

我需要使用WCF编写Silverlight应用程序。

我还需要使用依赖注入来访问另一个库中的此服务。

(我添加了启用Silverlight的WCF服务)

问题在于尝试使用依赖注入(在这种情况下为Prism / MEF)。当我创建一个具有此服务接口的Silverlight共享库时,我无法在ASP.Net项目中添加此库,因为它是Silverlight库。如果我创建一个非Silverlight库,我无法将该库添加到其他项目以共享该公共接口。

基本上我需要一个库,我想在Silverlight中的项目之间共享,所以我可以进行这种服务注入。

感谢任何信息

2 个答案:

答案 0 :(得分:1)

无论你是否意识到这一点,你的问题都与这个问题重复:Shared data object between WCF service and Silverlight app虽然没有同样的问题,但答案是一样的。

您需要创建一个单独的项目,并将代码文件(作为链接)从一个项目共享到另一个项目。您的问题是Silverlight项目是针对ASP.NET / WCF项目的不同运行时编译的。因为它们不能引用公共库,所以如上所述链接共享文件是在目标不同运行时的两个项目之间共享代码的最简单方法。

答案 1 :(得分:1)

正如slugster所说 - 这是通过链接到silverlight库中的Windows库文件来完成的。

您按照此处所述进行操作:http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/20/linking-files-in-visual-studio.aspx

我只是想补充..自从你去那里 - 你需要的是另一个框架/技术。通常,您所谈论的那些类依赖于仅存在于Windows中或仅存在Silverlight的其他类/命名空间。然后你需要通过电线传输对象数据。

微软的解决方案 - RIA服务。它的作用 - 它需要你的Windows类并在Silverlight端生成代理类。你需要什么。它适用于WCF服务。

有第三方解决方案,如CSLA和DevForce。 我使用DevForce并且它会自动执行许多操作,但不是生成代理类 - 它会像您想要的那样创建链接。