1

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

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

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

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

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

任何信息表示赞赏

4

2 回答 2

1

无论您是否意识到,您的问题与这个问题重复:WCF 服务和 Silverlight 应用程序之间的共享数据对象虽然问的方式不同,但答案是一样的。

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

于 2011-10-01T02:03:21.587 回答
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 等 3rd 方解决方案。我使用 DevForce,它会自动做很多事情,但不是生成代理类——它会创建你想要的链接。

于 2011-10-01T02:48:12.240 回答