任延华

Results 222 comments of 任延华

# dp2inventory关于册OI的引用层次 ``` GetOwnerInstitution(System.Xml.XmlElement, string, string, out string, out string) (DigitalPlatform.LibraryServer.LibraryServerUtil) GetOwnerInstitution(string, out string, out string) (dp2Inventory.LibraryChannelUtil) --DownloadUidTable(System.Collections.Generic.List, System.Collections.Hashtable, dp2Inventory.LibraryChannelUtil.delegate_showText, System.Threading.CancellationToken) (dp2Inventory.LibraryChannelUtil) ----toolStripButton_begin_Click(object, System.EventArgs) (dp2Inventory.InventoryDialog) ------InitializeComponent() (dp2Inventory.InventoryDialog) -------InventoryDialog() (dp2Inventory.InventoryDialog) ```

## “文件”菜单下的“重新连接读写器” 与 “重新探测读写器”命令的区别 探测读写器的机制是针对com读写器做的优化,因为电脑主机上可能有很多com口,但不是全部com都连接了RFID读写器,程序为了提高初始化速度,启动后把获取到的连接了com口的读写器记录在一个内部暗示文件里,以后再启动就直接使用之前的com口,不会检查全部的com口。这样如果增加了新的com口读写器,程序就不会自动识别出来,需要先重新探测读写器。 所以“重新连接读写器” 与 “重新探测读写器”两者的区别如下: 重新连接读写器:直接初始化读写器,只会检查之前用过的com口,不检查的新的com口。 重新探测读写器:重新探测主机上的所有com口+初始化读写器。

# 登录 93/94 ## Login 93 设备端登录图书馆系统。 ### 结构 ``` 93 93 1-char 1-char CN CO CP ``` ### 字段说明 字段名称 | ID | 格式 | 描述 -- | --...

# 获取图书信息 17/18 ## Item Information 17 ### 结构 ``` 17 17 18-char AO AB AC ``` ### 字段说明 字段名称 | ID | 格式 | 描述 -- | -- |...

# 更新图书信息 19/20 ## Item Status Update 19 ### 结构 ``` 19 19 18-char AO AB AC CH AQ AP KQ KP HS ``` #### 注意:暂时还不支持`HS`修改状态的功能 ### 字段说明 字段名称 |...

# 借书 11/12 ## Checkout 11 ### 结构 ``` 结构: 11 11 1-char 1-char 18-char 18-char AO AA AB AC AD CH BO BI ``` ### 字段说明 字段名称 | ID...

# 还书 09/10 ## Checkin 09 ### 结构 ``` 09 09 1-char 18-char 18-char AP AO AB AC CH BI ``` ### 样例 ``` 09N20170630 14163020170630 141630AP|AOdp2Library|AB510102|AC|BIN| ``` ### 字段说明...

# 获取读者信息 63/64 ## Patron Information 63 ### 结构 ``` 63 63 3-char 18-char 10-char AO AA AC AD BP BQ ``` ### 字段说明 字段名称 | ID | 格式 |...

# 查看SIP2通道(数字平台扩展接口) SIP2的通道是指SIP2前端与SIP2服务器的之间的TCP连接通道,虽然SIP2服务器会间接访问dp2library服务器,但SIP2通道与dp2library的通道是两回事。dp2library通道是由dp2library服务器端的通道应用池机制管理的,有可能有两个SIP2前端与SIP2服务器连接,是两根SIP2通道。但SIP2服务器去访问dp2library服务器时,dp2library根据自己的通道应用池机制,用一根dp2library通道就应对了,在内务观察到的通道是指dp2library的通道。 所以我们需要扩展一组查看SIP2通道的接口,方便SIP2前端查看当前SIP2服务器有多少根通道。 ## 针对成千上万的数据量,如何做检索接口? 各种数据检索接口都是类似的。本次扩展好针对SIP2通道的检索接口后,后面其它接口也是类似的。 请求消息: 1)请求偏移量 2)请求最大数量:-1表示不限 3)检索词,不输表示获取全部通道,输入一个帐户名表示获取该帐户的所有通道 4)格式类型,xml,json 响应消息: 1)总数量 2)内容占一个字段 3)出错信息还使用通用的AF,AG 出错如何表示?是否需要固定长度的标志位,还是和总数量使用同一个参数。参考一下17/18,63/64消息。 ## 服务器端如何实现? 服务器还是需要保存结果集,如果每次当前端请求时进行检索,再按请求的偏移量和数量返回数据。则前端分几次请求拿到的数据不一定是同批的,会混乱,因为服务器的数据是动态变化的,每次检索出来的数据可能不一定。 为了让前端请求简单,本次前端请求接口设计上就不用像dp2的检索接口分两个:即先检索得到结果集,再从结果集分批取数据。就设计一个检索接口,结果集的由服务器端保存和销毁。服务器端是结果哪个前端请求的,对应哪个结果集的。 ## 服务器端什么时候销毁结果集? 一种方案是当前端请求完最后一拨数据后,服务器清除结果集。但这有一个问题,就是类似前面下载文件时暴露的md5不匹配的问题。有可以服务器的传输给前端的过程中出现问题,导致前端没有收到最后一拨数据,再前端再请求时,服务器已经没有结果集了。 所以服务器的结果集需要多留一会,留到何时呢?留到下一次前端检索请求从0获取数据,这次服务器一看是新一次检索的了,再清除上一次的结果集。这样的话,前端如果最后一批数据未收到,再获取最后一批数据时,发请求要只获取最后一批,如果从头获取,则是新的结果集了。 ## 在SIP2前端增加的查看通道信息功能,如何显示? SIP2前端先发起请求消息,服务器返回响应消息。 最简单的做法,是把返回的通道信息直接显示在右侧面板。更好一些的做法,可以提供一个通道管理的界面,用列表显示,即可以刷新查看,也可以中断,类似内务的通道管理窗。

# 获取通道信息 41/42 ## Channel Information 41 ### 结构 ``` 41 41 18-char ZW BP ZC ZF ``` ### 字段说明 字段名称 | ID | 格式 | 描述 -- | --...