加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 如何更改乌节纪录库

发布时间:2020-12-15 19:03:18 所属栏目:asp.Net 来源:网络整理
导读:我正在考虑使用 Orchard CMS的项目. 但是,我们希望使用Web服务作为某些内容项的数据源.我想我们必须更改存储库实现,以使其成为可能,但我不确定. 所以我的问题是:我的猜测是正确的还是更复杂?那么怎么办呢? 谢谢! 更新: 我看到Orchard的IRepository接口
我正在考虑使用 Orchard CMS的项目.

但是,我们希望使用Web服务作为某些内容项的数据源.我想我们必须更改存储库实现,以使其成为可能,但我不确定.

所以我的问题是:我的猜测是正确的还是更复杂?那么怎么办呢?

谢谢!

更新:
我看到Orchard的IRepository接口需要LINQ提供程序来实现.在这种情况下,这是不可能的,因为Web服务是通过SOAP提供的.

我会更好地进一步描述场景:

我们希望建立的网站必须使用Web服务来获取有关组织成员和单位的信息.我们想在网站上显示一些组织单位的成员,例如.我们还想创建自己的内容类型“事件”,应该具有与成员(来自WS)的M:N关系(参加者).

解决方法

您不必实现一个存储库,以防您不想将零件存储完全指向其他位置.我目前在我的一个基于果园的项目中使用WCF服务,所以您的方案是类似的.

你可以这样做:

>将Web服务代理包装在一个实现IDependency的类中,所以你可以将其注入到驱动程序/处理程序/控制器等中.为了方便单元测试和嘲笑,您应该创建一个单独的界面,例如. IMyWebServiceWrapper:依赖并实现它.
>创建适当的内容零件和记录.在记录中只存储从WS定位和获取数据所需的信息.在内容部分创建所有必需的属性 – 它们将从WS加载.
将你的班级从1点注入适当的内容处理程序的构造函数
>在内容处理程序构造函数中使用这样的东西:

OnLoaded< MyPart>((ctx,part)=> {
part.MyProperty = myService.GetMyProperty(part.SomeIdToLookup);
});

> MyPart是您在乌节方面的一部分.
> MyProperty是您的部分属性,将从WS加载.
> myService是您包装的WS代理,作为构造函数参数传递.
> GetMyProperty是一个在包装器中调用WS并检索必要数据的方法.

当然,您可以使用其他处理程序事件(如OnInitialized,OnCreated,OnPublished等).您可以阅读有关内容处理程序here的更多信息.

我也建议从Codeplex获得一个dev startup module快速开发.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读