MongoHelper.cs
using System;
using MongoDB.Bson;
using MongoDB;
using System.Web;
using MongoDB.Driver; namespace YSF.ImageUtility
{
//
//http://blog.csdn.net/dannywj1371/article/details/7440916
//https://github.com/mongodb/mongo-csharp-driver
//http://docs.mongodb.org/ecosystem/drivers/csharp-community-projects/
public class MongoDBHelper
{
private const string CurrentSessionKey = "mongodb.current_session"; private static string dbName = "test";
static string connectionString = "mongodb://localhost";
static MongoClient client = null;
static MongoServer server = null;
//static MongoDatabase database = null;// WriteConcern defaulted to Acknowledged static MongoDBHelper()
{
client = new MongoClient(connectionString);
} /// <summary>
/// 打开一个数据库连接
/// </summary>
public static MongoDatabase Open()
{
if (HttpContext.Current != null)
{
server = HttpContext.Current.Session[CurrentSessionKey] as MongoServer; if (server == null)
{
server = client.GetServer();
HttpContext.Current.Session[CurrentSessionKey] = server;
}
}
else
{
server = client.GetServer();
}
server.Connect(); return server.GetDatabase(dbName);
} /// <summary>
/// 不要忘记关闭连接
/// </summary>
public static void Close()
{
if (HttpContext.Current == null)
{
return;
} if (server == null)
{
server = HttpContext.Current.Session[CurrentSessionKey] as MongoServer;
} if (server != null)
{
server.Disconnect();
}
}
} //public class MongoDBHelper
//{
// private const string CurrentSessionKey = "mongodb.current_session"; // //string strCon = @"mongodb://admin:xPlBBU7H1cDr@127.6.127.130:27017/";
// private static string strConnection = @"mongodb://localhost/";
// private static string dbName = "bolo";
// private static MongoConfigurationBuilder config = new MongoConfigurationBuilder(); // static MongoDBHelper()
// {
// // COMMENT OUT FROM HERE
// config.Mapping(mapping =>
// {
// mapping.Map<Account>();
// mapping.Map<Live>(); // });
// config.ConnectionString(strConnection);
// } // /// <summary>
// /// 打开一个数据库连接
// /// </summary>
// public static IMongoDatabase Open()
// {
// Mongo mongo = null;
// if (HttpContext.Current != null)
// {
// mongo = HttpContext.Current.Session[CurrentSessionKey] as Mongo; // if (mongo == null)
// {
// mongo = new Mongo(config.BuildConfiguration());
// HttpContext.Current.Session[CurrentSessionKey] = mongo;
// }
// mongo.Connect();
// }
// else
// {
// mongo = new Mongo(config.BuildConfiguration());
// mongo.Connect();
// } // return mongo.GetDatabase(dbName);
// } // /// <summary>
// /// 不要忘记关闭连接
// /// </summary>
// public static void Close()
// {
// if (HttpContext.Current == null)
// {
// return;
// } // var mongo = HttpContext.Current.Session[CurrentSessionKey] as Mongo;
// if (mongo != null)
// {
// mongo.Disconnect();
// }
// }
//}
}
MongoHelper.cs的更多相关文章
- neo-thinsdk-cs 之 thinWallet 接入私链
neo-thinsdk-cs 之 thinWallet 接入私链 2017年底刚开始接触区块链,目前在被 NEO 折磨. 一开始被官方文档和 NEO-GUI 搞得体无完肤(尤其是传说中的 F12),也 ...
- [C#] 剖析 AssemblyInfo.cs - 了解常用的特性 Attribute
剖析 AssemblyInfo.cs - 了解常用的特性 Attribute [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5944391.html 序 ...
- Atitit 软件架构方法的进化与演进cs bs soa roa msa attilax总结
Atitit 软件架构方法的进化与演进cs bs soa roa msa attilax总结 1.1. 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于 ...
- 从java文件和CS文件里查询方法使用次数工具
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...
- 关于 WP 开发中.xaml 与.xaml.cs 的关系
今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...
- .net 用户控件ascx.cs注册js脚本代码无效果
在.net web项目中碰到一个比较奇怪的问题,网上没找到解决方案,先自己mark一下 问题描述: 添加一个用户控件ascx,在后端.cs添加js注册脚本,执行后没有弹出框 注册脚本为: this.P ...
- DateHelper.cs日期时间操作辅助类C#
//==================================================================== //** Copyright © classbao.com ...
- 仅用aspx文件实现Ajax调用后台cs程序。(实例)
仅用aspx文件实现Ajax调用后台cs无刷新程序.(实例) 两个文件:aaa.aspx 和aaa.aspx.cs 一.aaa.aspx <script type="text/java ...
- Etw EventSourceProvider_EventsProducer.cs OopConsoleTraceEventListenerMonitor_TraceControllerEventsConsumer.cs
// EventSourceProvider_EventsProducer.cs /* /r:"D:\Microshaoft.Nuget.Packages\Microsoft.Diagnos ...
随机推荐
- mac/linux查询网络端口占用
参考:http://www.cnblogs.com/kaiye/archive/2013/05/25/3099393.html netstat命令 netstat -an|grep 8080 lsof ...
- iOS开发之AFNetworking网络编程
众所周知,苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐.操作起来很不方便.不仅要做区分各种请求设置各种不同的参数,而且还要经常在多线程里操作,同时还要对请求与返回的数据做各 ...
- Ubuntu16.04 Docker 安装
前提条件 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker. 通过 uname -r 命令查看你当前的内核版本 ...
- JMeter的安装和目录解析
Ubuntu系统中jmeter的安装和目录解析 作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况(如无法登录系统等),请按如下步骤一步一步安装并配置 相关软件下载地址 J ...
- Python中正则模块re.compile、re.match及re.search函数用法
import rehelp(re.compile)'''输出结果为:Help on function compile in module re: compile(pattern, flags=0) C ...
- 高通camera结构(摄像头基础介绍)
摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进 ...
- WCF可靠性会话之服务分流
可靠性绘画答条件: (1)服务绑定支持可靠性绘画:特别是netTcpBinding.wsHttpBinding及wsDualHttpBinding. wsDualHtttpBinding可靠性绘画始终 ...
- 一键安装lnmp(2)
all(){path=`pwd`cd $pathechoecho "exclude=*.i386 *.i686" >> /etc/yum.confrpm -ivh ht ...
- 如何使用openwrt下的分区表生成器ptgen
1.基本用法如下: ptgen [-v] -h <heads> -s <sectors> -o <outputfile> [-a 0..4] [-l <ali ...
- Elasticsearch Server,2nd Edition pdf 翻译 中文
很偶然的机会,就需要接触到搜索,入门就是google trend已然超过solr的ES.在入门的时候找书的时候发现没有中文版的.于是自己开始翻译Elasticsearch Server,2nd Edi ...