差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
faq:license2-description [2018/03/07 02:48]
admin
faq:license2-description [2018/03/07 03:04] (当前版本)
admin [ERP如何从新License中读取到旧的License?]
行 7: 行 7:
 {{:​faq:​pasted:​20180307-024800.png}} {{:​faq:​pasted:​20180307-024800.png}}
  
-对比旧License,有哪些变化 +===== 对比旧License,有哪些变化 ​===== 
-1. 一个客户购买多套版本产品只有一个license文件 + 
-2. 新license文件合并多套版本的旧license数据 +  - 一个客户购买多套版本产品只有一个license文件 
-3. license节点上增加了version属性区别版本,增加了productVersion属性,配合Web.config配置ERP-License-ProductVersion取数license数据 +  ​- ​新license文件合并多套版本的旧license数据 
-4. license签名使用私钥签名,私钥以X509证书方式保存。 +  ​- ​license节点上增加了version属性区别版本,增加了productVersion属性,配合Web.config配置ERP-License-ProductVersion取数license数据 
-5. 新license文件编码是utf-8,旧license文件编码是gb2312。+  ​- ​license签名使用私钥签名,私钥以X509证书方式保存。 
 +  ​- ​新license文件编码是utf-8,旧license文件编码是gb2312。 
 + 
 +===== ERP如何从新License中读取到旧的License? ===== 
 + 
 +1、从WebConfig的AppSettings节点中读取到属性ERP-License-ProductVersion的值。 
 +   
 +<​code>​ 
 +System.Configuration.ConfigurationManager.AppSettings["​ERP-License-ProductVersion"​] 
 +</​code>​ 
 +     
 +2、在XML中使用XPath检索 
 +   
 +<​code>​ 
 +xmlDocument.SelectSingleNode("/​licenseArray/​licenses/​license[@productVersion=\""​ + ProductVersion + "​\"​]"​) 
 +</​code>​ 
 +     
 +3、上述节点的查询结果的OuterXml就是旧License的内容. 
 + 
 +===== 核心ERP的调整 ===== 
 + 
 +影子License其实就是旧版本license.xml文件,时随着新license2.xml自动生成。 
 +这样核心ERP读取license信息的代码不用调整,依旧按照原来的方式读取license.xml文件,最大限制减小对核心ERP的影响。 
 + 
 +  - 影子License会随License2.xml自动刷新 
 +  - 读取License信息,可以直接读取旧License文件, 
 +  - Web.config没有配置ERP-License-ProductVersion,则使用License.xml 
 +  - Web.config配置ERP-License-ProductVersion,则使用License2.xml 
 +此时ERP-License-ProductVersion版本号必须有一个对应License2.xml中license节点属性productVersion值 
 + 
 +===== 重构ERP的调整 ===== 
 + 
 +  - bin下没有旧License文件 
 +  - 只能读取License2.xml文件 
 +重构ERP只存在一个license文件,且必须是License2.xml文件,存放在bin目录中。 
 +web.config必须配置ERP-License-ProductVersion,且必须有一个对应License2.xml中license节点属性productVersion值