WCF开发框架形成之旅--WCF应用常见问题处理
本文继续前面几篇关于WCF开发框架的随笔,继续介绍WCF的一些经验和知识,其中主要介绍在使用WCF开发中碰到的问题以及解决方法,为自己做个记号,也为后来者提供解决思路,其中包括有动态修改WCF配置内容、规范WCF客户端的调用和处理。
1、 动态修改WCF配置内容
由于在软件登录界面中,需要提供用户切换内网、外网的功能,而配置文件中内外网的地址配置是不一样的,因此需要动态修改应用程序的配置文件,然后更新其中节点内容,界面如下所示。
修改WCF节点的C#代码如下所示 www.2cto.com
private void ChangeConfig()
{
bool isIntranet = radNetType.EditValue.ToString() == "内网";
if (isIntranet)
{
UpdateConfig("192.168.1.2", "8002");
}
else
{
UpdateConfig("219.136.1.2", "8002");
}
}
private void UpdateConfig(string serverIPAddress, string serverPort)
{
//Configuration config = ConfigurationManager.OpenExeConfiguration(Assembly.GetEntryAssembly().Location);
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSectionGroup sct = config.SectionGroups["system.serviceModel"];
ServiceModelSectionGroup serviceModelSectionGroup = sct as ServiceModelSectionGroup;
ClientSection clientSection = serviceModelSectionGroup.Client;
foreach (ChannelEndpointElement item in clientSection.Endpoints)
{
string pattern = "://.*/";
string address = item.Address.ToString();
if (address.ToLower().Contains("localhost"))
return;
string replacement = string.Format("://{0}:{1}/", serverIPAddress, serverPort);
address = Regex.Replace(address, pattern, replacement);
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- asp.net js模拟Button点击事件
- winform下通过webclient使用非流方式上传(post)数据和
- 谈.Net委托与线程——创建无阻塞的异步调用(一
- Pro ASP.NET MVC 3 Framework学习笔记之九
- ASP.NET数据格式的Format--DataFormatString
- Asp.net MVC源码分析--Model Validation(Client端)实现(2)
- MVC中一个表单实现多个提交按钮(一个action搞定
- 教你如何来恢复一个丢失的数据文件
- 微软ASP.NET站点部署指南(11):部署SQL Server数据
- asp.net 六大内置对象(2)