博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c# 访问实时数据库的性能优化

Posted on 2011-03-30 15:27  hyruur  阅读(629)  评论(0编辑  收藏  举报

Apace作为新一代实时数据库产品完全支持.Net Framework,并且有非常高效的访问性能,Apace实时数据产品系列中提供了支持.Net Framework SDK开发包,通过SDK,开发人员能快速的掌握并了解Apace实时数据库产品优秀的分布式架构和丰富对外的访问接口。

   SDK开发包:

   

l        Apace.Client

  Apace客服端访问程序集

l        Apace.Common

  Apace客户端公共实例程序集

l        Apace.DataContract

  Apace 客户端数据契约程序集

l        Apace.Window.Compress

  Apace 客户端组件程序集

 

需要添加的.Net Framework公共程序集

System

System.Core

System.Runtime.Serialization

System.ServiceModel

System.Xml

System.Xml.Linq

 

  APP.CONFIG连接配置

 


Apace客户端连接配置适合所有.Net Framework解决方案包括Web项目、Form项目、WPF等。

连接配置:

●    指定配置格式的解析程序集 打开App.Config文件à在<configSections>节点中加入如下代码;

 <configSections>

    <section name="Apace.Client"  type="Apace.Client.ApaceNetConfigSection,Apace.Client" />

  </configSections> 

 

● 在App.Config文件中加入连接配置节;

  <Apace.Client ServiceNodeName="apace">

    <ServiceNode Name="apace" DDMIPAddress="127.0.0.1" UserName="apace" PassWord="apace" NetType="NetTcp" Port="2006" IsBuffer="true"></ServiceNode>

  </Apace.Client>

 

   ServiceNodeName: 配置服务节点别名默认使用“apace”

   ServiceNode: 服务节点别名默认使用 “apace”

   DDMIPAddress: 目标Apace服务器地址

   UserName: 登录用户名

   PassWord: 登录用户密码

   NetType: 连接目标服务器所使用的网络协议 1.NetTcp 2.NetHttp

   IsBuffer: 是否开始本地缓存

   Port:目标端口值

 


 

实例演示: 提交新数据到服务器

//第一步:得到客户端实体

   view plaincopy to clipboardprint?
Apace.Client.NetClient client = Apace.Client.NetClientManage.GetNetClient();  
 
   //第二步:准备好内存数据  
 
    McbData realpoint =  new McbData();  
 
                realpoint.PointName = “DDM.Apace.Test1”;  
 
                realpoint.PointValue = “342.8761”;  
 
                 //第二步:将时间转换成Utc时间  
 
                realpoint.PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);  
 
   //第三步:向服务器追加时序数据  
 
   bool returnState= Login.netClient.SetRealData (realpoint);  
 
   If(returnValue)  
 
{  
 
    //追加成功代码  
 
}  
 
Else   
 
{  
 
   //追加失败代码  
 

Apace.Client.NetClient client = Apace.Client.NetClientManage.GetNetClient();

   //第二步:准备好内存数据

    McbData realpoint =  new McbData();

                realpoint.PointName = “DDM.Apace.Test1”;

                realpoint.PointValue = “342.8761”;

                 //第二步:将时间转换成Utc时间

                realpoint.PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);

   //第三步:向服务器追加时序数据

   bool returnState= Login.netClient.SetRealData (realpoint);

   If(returnValue)

{

    //追加成功代码

}

Else

{

   //追加失败代码

}

 

 

 


批量追加实例演示

 

   


view plaincopy to clipboardprint?
//第一步:得到客户端实体  
 
   Apace.Client.NetClient client = Apace.Client.NetClientManage.GetNetClient();  
 
   //第二步:准备好批量内存数据  
 
McbData[] realpoint =  new McbData[3];  
 
                realpoint[0].PointName = “DDM.Apace.Test1”;  
 
                realpoint[0].PointValue = “342.8761”;  
 
                realpoint[0].PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);  
 
   
 
                realpoint[1].PointName = “DDM.Apace.Test2”;  
 
                realpoint[1].PointValue = “349.3461”;  
 
realpoint[1].PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);  
 
   
 
realpoint[2].PointName = “DDM.Apace1.Test1”;  
 
                realpoint[2].PointValue = “549.9663”;  
 
realpoint[2].PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);  
 
   
 
   //第三步:向服务器追加时序数据  
 
Login.netClient.SetRealDataCollect(realpoint); 
//第一步:得到客户端实体

   Apace.Client.NetClient client = Apace.Client.NetClientManage.GetNetClient();

   //第二步:准备好批量内存数据

McbData[] realpoint =  new McbData[3];

                realpoint[0].PointName = “DDM.Apace.Test1”;

                realpoint[0].PointValue = “342.8761”;

                realpoint[0].PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);

 

                realpoint[1].PointName = “DDM.Apace.Test2”;

                realpoint[1].PointValue = “349.3461”;

realpoint[1].PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);

 

realpoint[2].PointName = “DDM.Apace1.Test1”;

                realpoint[2].PointValue = “549.9663”;

realpoint[2].PointTime = Apace.Common.BaseConfig.GetUtcTime(DateTime.Now);

 

   //第三步:向服务器追加时序数据

Login.netClient.SetRealDataCollect(realpoint);
 

 


事务性批量追加实例演示


  view plaincopy to clipboardprint?
//第一步:得到客户端实体  
 
   Apace.Client.NetClient client = Apace.Client.NetClientManage.GetNetClient();  
 
   //第二步:开启追加数据事务  
 
     client.BeginTransaction()  
 
            SetRealData(“DDM.Apace.Test2”, DateTime.Now , 128.342);  
 
SetRealData(“DDM.Apace.Test1”, DateTime.Now , 129.142);  
 
SetRealData(“DDM.Apace.Test12”, DateTime.Now , 328.704);  
 
SetRealData(“DDM.Apace.Test45”, DateTime.Now , 528.009);  
 
//第三步:结束追加数据事务  
 
      client.EndTransaction () 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Gjack/archive/2010/09/09/5874617.aspx