1

我有一个 Silverlight 项目,由于应用程序的大小和复杂性,功能在多个 Silverlight 库中被隔离。我无法确定解耦从网站项目生成的 RIA 域服务的最佳方法是什么。我需要能够访问来自其他库的数据,因为它们将根据需要动态加载到主 Silverlight 应用程序中。

4

1 回答 1

1

我最终在 Silverlight 主应用程序的 Generated_Code 目录中获取了由 Visual Studio 生成的代码,并创建了多个 Silverlight 库来分离 Ria DomainContext、身份验证服务、实体和我们编写的其他域服务。然后我提取了 DomainContext 的接口等,并将它们放在自己的库中。然后,使用 Microsoft 的 Silverlight Unity 框架,我能够将我的所有模块与主项目分离。我所有的模块现在都使用接口。在主应用程序中有一个 IoC 容器,我在其中注册了所有实现接口的类,并且它们在实例化时被注入到页面中。毕竟没有那么顺从。唯一要记住的是保留服务器中域服务类的 EnableClientAccess 属性,但从主 Silverlight 应用程序中删除 ASP.Net 服务器项目链接。我读到他们计划在 Ria services/Silverlight 3 的最终版本中使这更容易,因为其他人抱怨当前设置造成的紧密耦合。

于 2009-07-01T01:29:16.877 回答