基于Windows服务的WCF
(1)创建WCF
代码示例:
[ServiceContract]
public interface ILimsDBService
{
[OperationContract]
int ExecuteSql(string strSql);
[OperationContract]
DataTable GetDataTable(string strSql);
[OperationContract]
DataSet GetDataSet(string strSql);
}
public class LimsDBService : ILimsDBService
{
public int ExecuteSql(string strSql)
{
OracleDBHelper dbo = new OracleDBHelper(ConfigInfo.LimsDbConnStr);
return dbo.ExecuteSql(strSql);
}
public DataTable GetDataTable(string strSql)
{
OracleDBHelper dbo = new OracleDBHelper(ConfigInfo.LimsDbConnStr);
return dbo.GetDataTable(strSql);
}
public DataSet GetDataSet(string strSql)
{
OracleDBHelper dbo = new OracleDBHelper(ConfigInfo.LimsDbConnStr);
return dbo.GetDataSet(strSql);
}
}
(2)创建Windows服务
代码示例:
public partial class LimsHsSysService : ServiceBase
{
ServiceHost LimsDBServiceHost = new ServiceHost(typeof(LimsDBService));
public LimsHsSysService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
LimsDBServiceHost.Open();
}
protected override void OnStop()
{
LimsDBServiceHost.Close();
}
}
(3)配置客户端
功能代码:
WSHttpBinding binding = new WSHttpBinding();
EndpointAddress address = new EndpointAddress("http://192.168.4.179:8732/Design_Time_Addresses/WcfLimsServer/LimsDBService/");
LimsDBServiceClient lims = new LimsDBService.LimsDBServiceClient(binding, address);
string sql = "select sample_id,material_type from nais_all_samples where sample_id=" + this.txtQuery.Text.Trim();
DataTable dt = lims.GetDataSet(sql).Tables[0];
this.gvData.DataSource = dt;
this.gvData.DataBind();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述