2011-10-01 68 views
1

使用WCF编写Silverlight应用程序需要Im。SilverLigtht启用WCF的Prism服务

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

(我添加一个Silverlight启用WCF服务)

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

基本上我需要一个库,我认为可以在Silverlight中的项目之间共享,以便我可以执行此服务注入。

任何信息表示赞赏

回答

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,它会自动执行许多操作,但不会生成代理类 - 它会像您想要的那样创建链接。

1

不管你意识到与否,你的问题是这样的一个的副本:Shared data object between WCF service and Silverlight app虽然没有问同样的方式,得到的答案是一样的。

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