博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebService推送数据,数据结构应该怎样定义?
阅读量:7062 次
发布时间:2019-06-28

本文共 1513 字,大约阅读时间需要 5 分钟。

存放在Session有一些弊端,不能实时更新。server压力增大等...

要求:将从BO拿回来的数据存放在UI Cache里面,数据库更新了就通过RemoveCallback "告诉"UI Cache。实现更新。

环境:BO 提供一个WebService给UI取数据。UI也有一个WebService,提供给BO 通知UI更新数据。数据结构的原生类始终在BO层。

本来是想在数据库Update 后,在BO将Cache的数据推送至UI Cache,但当中遇到了自己解决不了的问题:

数据结构转换问题:

大家知道WebService数据通过一个数据协议,将数据序列化成xml传送。

UI Call BO的WebService取数据,数据原生结构在BO,数据也在BO,UI期望得到的数据结构是对BOWebService引用生成的Reference.cs里面自己主动生成的。

UI取数据能够成功。

可是BO Call UI WebService推送数据的时候就成问题了:

BO Call UI的WebService。数据结构非常应该是在UI层定义的(个人理解) ,可是如今数据结构的原生类始终是在BO层里面的。

BO数据原生结构

UI引用BO WebService生成Reference.cs

个人以为在BO 引用UI WebService生成Reference.cs时,EntyAuxiliary又会变了另外一个样子(由于UI的EntyAuxiliary是BO来的。而如今BO又引用UI的EntyAuxiliary,说的复杂点就是BO引用了UI引用BO的EntyAuxiliary)

可是BO引用UI WebService生成的Reference.cs代码里:EntyAuxiliary还是这个样子。

基于以上。BO Call UI WebService:

ReSetCacheData(string key,Object data);

报错:

就算我把原生类数据结构的数据转换成Reference.cs的数据结构也是报相同的错误。

为什么呢?

逼于无奈之下,仅仅好就需求改一改:数据库Update的时候。BO Call UI WebService,让UI自己又一次Call BO WebService取回更新后的数据。

这种方式就是BO通知UI。让UI自己去取数据。而达不到BO推送数据的优点了。

通知方式和UI轮询BO是否有数据更新方式  这种方式是否效率比較低下呢?个人比較不喜欢...

和W讨论过:如今普通的Call WebService流程是。第一种:UI主动Call BO,通过RQ 传送数据,UI主动Call BO。通过RS接收数据。

RQ,RS都是在BO层定义的,两次方式都是UI做主动。

另外一种:而我的情况是,UI 主动Call BO取数据,而BO 主动Call UI 推送数据。

这就是不同点。

W说 client和服务端之间通过WebService传送数据 的方式应该要像第一种。

我BO Call UI 推送数据的时候,数据结构就应该由UI层定义,可是我想:我UI有从BO WebService引用的Reference.cs自己主动生成了EntyAuxiliary,就把Reference.cs里面的EntyAuxiliary当做是在UI定义的数据结构不行吗? 在BO推送数据的时候。我还把原生类的数据转换成了Reference.cs里面的EntyAuxiliary,结果还是不行。。

可能归根结底UI层须要接受的数据类型的原生类型是在BO层里面定义的吧?

下面两张图片是个人记录..

缓存的思考:

问题:

你可能感兴趣的文章
追溯ASP.NET发展史
查看>>
IE6不支持<a>标签以外元素的hover的解决方案
查看>>
Centos6.4_X64飞信安装
查看>>
分布函数(连续型连续型)
查看>>
boost::thread类
查看>>
数据库之开源数据库
查看>>
知名博客
查看>>
专业(技术和流程规范)(转)
查看>>
爬取千万淘宝商品的python脚本
查看>>
STL之Queue(Q)
查看>>
php对gzip文件或者字符串解压实例参考
查看>>
jQuery上传插件,文件上传测试用例
查看>>
10.5 搜索的优化版
查看>>
mysql中查询语句中的一个知识点说明
查看>>
直接用postman测试api ,服务器端没提供跨域也可以访问。
查看>>
IE8不能保存cookie,造成response.redirect死循环的原因
查看>>
PHP:第六章——正则表达式的基本概念
查看>>
nginx压缩,缓存
查看>>
运营社群看这篇就够了,微信群门槛设置,用户思维、流量思维与产品思维
查看>>
centos彻底删除文件夹、文件命令
查看>>