混合式开发框架模式中各种登陆方式的配置实现
作者:网络转载 发布时间:[ 2015/4/23 10:31:51 ] 推荐标签:开发框架 模式 实现
对于如果选择单机版模式,那么我们需要设置相应的参数,用来告诉混合式框架采用本地数据库模式,具体代码如下所示。
/// <summary>
/// 单机版模式的复选框事件处理
/// </summary>
private void chkLocalVersion_CheckedChanged(object sender, EventArgs e)
{
SetAccessType(this.chkLocalVersion.Checked);
}
/// <summary>
/// 设置为网络方式还是单机版模式
/// </summary>
/// <param name="localType">是否为单机版模式</param>
private void SetAccessType(bool localType)
{
this.lblNetType.Enabled = !localType;
this.radNetType.Enabled = !localType;
AppConfig config = new AppConfig();
config.AppConfigSet("CallerType", localType ? "win" : "wcf");
ConfigurationManager.RefreshSection("appSettings");
}
如果是网络方式,还需要区分内网模式,还是外网模式,根据参数来对相关的配置文件进行修改,具体逻辑代码如下所示。
/// <summary>
/// 网络方式(内网、外网)切换处理事件
/// </summary>
private void radNetType_SelectedIndexChanged(object sender, EventArgs e)
{
ChangeConfig();
}
/// <summary>
/// 修改配置文件
/// </summary>
private void ChangeConfig()
{
if (parameter != null)
{
bool isIntranet = radNetType.EditValue.ToString() == "内网";
if (isIntranet)
{
UpdateConfig(parameter.InternalWcfHost, parameter.InternalWcfPort);
}
else
{
UpdateConfig(parameter.ExternalWcfHost, parameter.ExternalWcfPort);
}
}
else
{
MessageDxUtil.ShowError("获取参数信息失败");
}
}
/// <summary>
/// WCF模式下,修改配置文件中的主机地址信息和端口
/// </summary>
/// <param name="serverIPAddress">主机地址信息</param>
/// <param name="serverPort">端口</param>
private void UpdateConfig(string serverIPAddress, int serverPort)
{
string basePath = System.Environment.CurrentDirectory;
UpdateConfigFile(serverIPAddress, serverPort, Path.Combine(basePath, "BaseWcfConfig.config"));
UpdateConfigFile(serverIPAddress, serverPort, Path.Combine(basePath, "WcfConfig.config"));
}
/// <summary>
/// 通过正则标识方式替换其中的主机信息和端口参数
/// </summary>
/// <param name="serverIPAddress">主机地址信息</param>
/// <param name="serverPort">端口</param>
/// <param name="exeFilePath">配置文件地址</param>
private void UpdateConfigFile(string serverIPAddress, int serverPort, string exeFilePath)
{
string address = File.ReadAllText(exeFilePath, System.Text.Encoding.UTF8);
string pattern = "://.*?/";
string replacement = string.Format("://{0}:{1}/", serverIPAddress, serverPort);
address = Regex.Replace(address, pattern, replacement);
File.WriteAllText(exeFilePath, address, System.Text.Encoding.UTF8);
}
以上是我对于混合式开发框架的登陆方式和登陆参数进行的配置信息管理的一个案例,希望对大家有帮助。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南