升级WCF后端通信架构,开发更简单高效!CSFrameworkV5.1旗舰版
升级WCF后端通信架构,开发更简单高效!CSFrameworkV5.1旗舰版
CSFrameworkV5.1旗舰版(2021最新修改):
客户端WCF核心库全面升级,技术架构更清晰、简洁、高效!
WCF客户端核心库


WCF_Base.cs
C# Code:
/// <summary>
/// WCF客户端代理层-基类
/// </summary>
/// <typeparam name="T"></typeparam>
public class WCF_Base<T> where T : class
{
/// <summary>
/// 执行WCF方法
/// </summary>
/// <param name="action">调用WCF接口核心逻辑</param>
protected void Excute(Action<T> action)
{
T svc = null;
try
{
svc = WCFFactory.Create<T>();
action(svc);
this.CloseService(svc as ICommunicationObject);//关闭WCF服务
}
catch (Exception ex)
{
if (svc != null) this.CloseService(svc as ICommunicationObject);
throw ex;
}
}
/// <summary>
/// 执行WCF方法
/// </summary>
/// <typeparam name="R">数据类型</typeparam>
/// <param name="action">调用WCF接口核心逻辑</param>
/// <returns></returns>
protected R Excute<R>(Func<T, R> action)
{
T svc = null;
try
{
svc = WCFFactory.Create<T>();//创建WCF接口实例
R result = action(svc);//调用接口逻辑
this.CloseService(svc as ICommunicationObject);//关闭WCF服务
return result;
}
catch (Exception ex)
{
if (svc != null) this.CloseService(svc as ICommunicationObject);
throw ex;
}
}
/// <summary>
/// 执行指定WCF接口的方法
/// </summary>
/// <typeparam name="M">WCF接口</typeparam>
/// <typeparam name="R">数据类型</typeparam>
/// <param name="action">调用WCF接口核心逻辑</param>
/// <returns></returns>
protected R Excute<R, M>(Func<M, R> action) where M : class
{
M svc = null;
try
{
svc = WCFFactory.Create<M>();//创建WCF接口实例
R result = action(svc);//调用接口逻辑
this.CloseService(svc as ICommunicationObject);//关闭WCF服务
return result;
}
catch (Exception ex)
{
if (svc != null) this.CloseService(svc as ICommunicationObject);
throw ex;
}
}
private void CloseService(ICommunicationObject svc)
{
try
{
//查看连接状态,关闭WCF
CommunicationState state = svc.State;//创建WCF通道,默认State=Opened;
svc.Close();
//svc.Close();//测试关闭状态下,调用Close
}
catch
{
}
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// WCF客户端代理层-基类
/// </summary>
/// <typeparam name="T"></typeparam>
public class WCF_Base<T> where T : class
{
/// <summary>
/// 执行WCF方法
/// </summary>
/// <param name="action">调用WCF接口核心逻辑</param>
protected void Excute(Action<T> action)
{
T svc = null;
try
{
svc = WCFFactory.Create<T>();
action(svc);
this.CloseService(svc as ICommunicationObject);//关闭WCF服务
}
catch (Exception ex)
{
if (svc != null) this.CloseService(svc as ICommunicationObject);
throw ex;
}
}
/// <summary>
/// 执行WCF方法
/// </summary>
/// <typeparam name="R">数据类型</typeparam>
/// <param name="action">调用WCF接口核心逻辑</param>
/// <returns></returns>
protected R Excute<R>(Func<T, R> action)
{
T svc = null;
try
{
svc = WCFFactory.Create<T>();//创建WCF接口实例
R result = action(svc);//调用接口逻辑
this.CloseService(svc as ICommunicationObject);//关闭WCF服务
return result;
}
catch (Exception ex)
{
if (svc != null) this.CloseService(svc as ICommunicationObject);
throw ex;
}
}
/// <summary>
/// 执行指定WCF接口的方法
/// </summary>
/// <typeparam name="M">WCF接口</typeparam>
/// <typeparam name="R">数据类型</typeparam>
/// <param name="action">调用WCF接口核心逻辑</param>
/// <returns></returns>
protected R Excute<R, M>(Func<M, R> action) where M : class
{
M svc = null;
try
{
svc = WCFFactory.Create<M>();//创建WCF接口实例
R result = action(svc);//调用接口逻辑
this.CloseService(svc as ICommunicationObject);//关闭WCF服务
return result;
}
catch (Exception ex)
{
if (svc != null) this.CloseService(svc as ICommunicationObject);
throw ex;
}
}
private void CloseService(ICommunicationObject svc)
{
try
{
//查看连接状态,关闭WCF
CommunicationState state = svc.State;//创建WCF通道,默认State=Opened;
svc.Close();
//svc.Close();//测试关闭状态下,调用Close
}
catch
{
}
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
客户端WCF类
C# Code:
public class WCF_AdvancedFilter : WCF_Base<ICommonService>, IBridge_AdvancedFilter
//来源:C/S框架网 | www.csframework.com | QQ:23404761
//来源:C/S框架网 | www.csframework.com | QQ:23404761
客户端调用接口
C# Code:
public List<MyConfigData> GetConfig(string account)
{
return this.Excute(client =>
{
byte[] loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser);
return client.AdvancedFilter_GetConfig(loginTicket, account);
});
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
public List<MyConfigData> GetConfig(string account)
{
return this.Excute(client =>
{
byte[] loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser);
return client.AdvancedFilter_GetConfig(loginTicket, account);
});
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

参考文档:
软件开发框架培训实时讲解总结|CSFrameworkV5.1旗舰版|培训大纲
软件开发框架培训内容大全 | CSFrameworkV5.1旗舰版|培训大纲
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
CSFrameworkV6旗舰版 | AutoUpgrader自动升级程序支持3种数据库|C/S开发框架
CSFrameworkV5.1旗舰版 | 电子邮件附件文件介绍|C/S开发框架
独立数据编辑窗体(单表)实例开发教程-CSFrameworkV5.1旗舰版
开发框架3.0:WebService升级WCF操作指引(1)
C/S架构软件快速开发平台|旗舰版V5.1简介|软件手册
WinFramework轻量级框架与旗舰版V5.1功能差异与区别|C/S开发框架
C/S架构快速开发平台-旗舰版V5.1 (2021最新版)-C/S开发框架
WCF开发框架配置详解 WCF开发实例高级教程
WinFramework轻量框架V2.1与旗舰版V5.1功能区别
WCF开发框架默认连接:HTTP协议+Message安全模式+Windows客户端认证
WCF顶级安全:HTTPS协议SSL证书+Windows认证+TransportWithMessageCredential安全模式
WCF开发框架-客户端采用Certificate认证模式调用基于HTTPS协议的WCF接口
WCF开发框架-客户端采用Windows身份认证调用HTTPS协议WCF接口
软件开发框架培训实时讲解总结|CSFrameworkV5.1旗舰版|培训大纲
软件开发框架培训内容大全 | CSFrameworkV5.1旗舰版|培训大纲
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
CSFrameworkV6旗舰版 | AutoUpgrader自动升级程序支持3种数据库|C/S开发框架
CSFrameworkV5.1旗舰版 | 电子邮件附件文件介绍|C/S开发框架
独立数据编辑窗体(单表)实例开发教程-CSFrameworkV5.1旗舰版
开发框架3.0:WebService升级WCF操作指引(1)
C/S架构软件快速开发平台|旗舰版V5.1简介|软件手册
WinFramework轻量级框架与旗舰版V5.1功能差异与区别|C/S开发框架
C/S架构快速开发平台-旗舰版V5.1 (2021最新版)-C/S开发框架
WCF开发框架配置详解 WCF开发实例高级教程
WinFramework轻量框架V2.1与旗舰版V5.1功能区别
WCF开发框架默认连接:HTTP协议+Message安全模式+Windows客户端认证
WCF顶级安全:HTTPS协议SSL证书+Windows认证+TransportWithMessageCredential安全模式
WCF开发框架-客户端采用Certificate认证模式调用基于HTTPS协议的WCF接口
WCF开发框架-客户端采用Windows身份认证调用HTTPS协议WCF接口
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
