使用LLServer实现对leveldb的访问封装的C#客户端源码

数据库 其他数据库
本文我们主要介绍了使用LLServer实现对leveldb的访问封装的C#客户端源码程序,希望能够对您有所帮助。

上次我们介绍了:使用LLServer实现对leveldb的访问封装详解,本文我们介绍一下使用LLServer实现对leveldb的访问封装的C#客户端源码,希望能够对您有所帮助。

1.这里将Discuz!NT使用的memcached 客户端(已修改过部分代码),大家可以使用它(支持链接池)来直接访问LLServer,相应的示例在压缩包的MemcachedApp\MemcachedApp\sample\sample_1.aspx中。下载地址:http://files.cnblogs.com/daizhj/MemcachedApp_llserver.rar

2.当然也可以使用c#的httpwebrequest来直接访问,比如(代码源自discuz!nt):

  1. namespaceDiscuz.Common  
  2. {  
  3. ///<summary> 
  4. ///httpPOST请求url  
  5. ///</summary> 
  6. ///<paramnameparamname="url">请求的url链接</param> 
  7. ///<paramnameparamname="method">方法名称,如"POST","GET"</param> 
  8. ///<paramnameparamname="postData">方法名称为"POST"时,所有提交的数据</param> 
  9. ///<returns></returns> 
  10. publicstaticstringGetHttpWebResponse(stringurl,stringmethod,stringpostData)  
  11. {  
  12. HttpWebRequestrequest=(HttpWebRequest)HttpWebRequest.Create(url);  
  13. request.Method=method;  
  14. request.ContentType="application/x-www-form-urlencoded";  
  15. request.ContentLength=string.IsNullOrEmpty(postData)?0:postData.Length;  
  16. //request.UserAgent="Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.2;.NETCLR1.0.3705;)";  
  17. request.Timeout=60000;  
  18. HttpWebResponseresponse=null;  
  19.  
  20. try  
  21. {  
  22. if(!string.IsNullOrEmpty(postData))  
  23. {  
  24. StreamWriterswRequestWriter=newStreamWriter(request.GetRequestStream());  
  25. swRequestWriter.Write(postData);  
  26.  
  27. if(swRequestWriter!=null)  
  28. swRequestWriter.Close();  
  29. }  
  30.  
  31. response=(HttpWebResponse)request.GetResponse();  
  32. using(StreamReaderreader=newStreamReader(response.GetResponseStream(),Encoding.UTF8))  
  33. {  
  34. returnreader.ReadToEnd();  
  35. }  
  36. }  
  37. catch  
  38. {  
  39. returnnull;  
  40. }  
  41. finally  
  42. {  
  43. if(response!=null)  
  44. response.Close();  
  45. }  
  46. }  
  47. //这里发送请求并返回数据  
  48. stringresult=GetHttpWebResponse("http://127.0.0.1:11211/?opt=get&charset=utf-8&key=username","GET",null); 

当然你可也以用其它语言的memcached客户端来访问LLServer,不过有一点要说明的是,目前llserver只存储序列化的字符串对象,如果你的数据为泛型或数组等类型,请先序列化之后再进行存储。  

还有就是在C#里可以对数据进行二进制序列化,这里必须将序列化后的对象进行base64位编码之后再存储,否则会报异常,切记。

以上就是使用LLServer实现对leveldb的访问封装的C#客户端源码程序,本文就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server数据库服务器负载均衡集群的实现方法
  2. MySQL性能优化之使用Limit关键字来避免全表扫描
  3. 初学Java调用存储过程返回一行或多行结果集的实例
  4. Oracle 11.2.0.1 for RHEL5-6 x86和x64静默安装详解
  5. SQL Server环境语言变换导致存储过程执行不正常的解决
责任编辑:赵鹏 来源: 博客园
相关推荐

2011-08-25 10:13:32

对leveldb的访问LLServer编译安

2009-08-21 17:53:25

C#网络编程客户端程序

2020-03-19 08:00:00

客户端KubernetesAPI

2009-08-21 14:33:15

C#异步传输字符串

2009-08-07 13:55:35

Java客户端类调用C# WebServi

2009-08-21 15:36:41

服务端与客户端

2009-08-21 15:54:40

服务端与客户端

2009-08-06 17:12:13

C# WebServi

2009-02-04 17:39:14

ibmdwWebSphereDataPower

2011-04-07 09:33:01

Activex

2009-08-21 16:14:52

服务端与客户端通信

2009-08-21 15:59:22

服务端与客户端通信

2010-05-26 09:26:43

Cassandra

2009-08-21 16:37:54

C#客户端程序

2011-04-06 14:24:20

Nagios监控Linux

2011-03-21 14:53:36

Nagios监控Linux

2011-01-18 18:09:21

GmailThunderbird

2009-12-07 18:26:36

WCF客户端

2009-08-21 17:48:43

C#网络编程

2011-08-17 10:10:59

点赞
收藏

51CTO技术栈公众号