出于安全角度的考虑,一般情况下使用BUA .NET客户端是无法修改上下文的应用系统参数的,这些参数在Web.config文件的BUAClient配置节进行修改。如果你想要访问另一个应用系统的权限、角色等信息。你需要做以下两件事情:
1、具有被访问应用系统的密码(ApplicationPassword)。
2、通过代码修改BUA客户端的运行时配置,参考代码如下:
// 复制一份运行时配置用于动态修改完成以后恢复回去
var oldConfig = RuntimeConfig.Instance.Clone();
var config = RuntimeConfig.Instance;
config.ApplicationCode = "xxx";
config.ApplicationPassword = "xxx";
// 调用BUA客户端提供的接口
......
config.ApplicationCode = oldConfig.ApplicationCode;
config.ApplicationPassword = oldConfig.ApplicationPassword;
有两个dll需要在一个项目内使用,但它们分别都使用了Json.NET的不同版本。一个dll依赖版本6.0,另一个dll依赖版本10.0。运行的时候会出现一方依赖的dll版本不存在。这种情况下要解决这个冲突,请参考以下解决方案:
1、使用更高版本的那个
2、在应用程序配置文件,新增<runtime>配置节,并配置依赖程序集版本重定向。以Json.NET为例,参考如下:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json"
culture="neutral"
publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0"
newVersion="10.0.0.0"/>
</dependentAssembly>
以上的方法有一个前提就是这个dll,它的版本之间程序集签名没有发生过修改
Beyondbit Framework使用log4net记录日志,如果想要查看日志输出可以创建一个名称为"log4net.config"的配置文件,将它放在应用系统的根目录。详细的配置信息可以参考:http://logging.apache.org/log4net/release/manual/configuration.html。
附件是一个简单的示例,它会将错误级别的日志写入到当前目录下名为log-file.txt的文件里面。
log4net.config (693B)