He usado ASP.NET y ahora estoy trabajando en una aplicación Sinatra/MongoDB. Con la arquitectura ASP.NET, la conexión a la base de datos que usa una solicitud determinada proviene de un grupo de conexiones que administra ADO.NET. Las conexiones se mantienen activas en el grupo entre las solicitudes, de modo que el costo de construir y destruir la conexión no se paga por cada solicitud http.Usando Sinatra y MongoDB: ¿cuál es la forma recomendada de "mantener viva" la conexión mongodb entre las solicitudes http?
¿Hay un mecanismo similar en una aplicación Sinatra MongoDB, o tendré que conectarme/desconectarme con cada solicitud? Si hay un mecanismo, ¿cómo se ve el código?
EDIT1: Lo siguiente NO funciona. Cada solicitud HTTP que el navegador envía coincide con la línea new.db, incluidas las solicitudes de archivos css, js, jpeg.
require 'mongo'
include Mongo
db = Mongo::Connection.new.db("MyDb")
class MyApp < Sinatra::Base
get '/' do
etc
Aquí hay una buena [aplicación de ejemplo] (http://github.com/dancroak/shorty) usando Sinatra y MongoDB: probablemente pueda empezar bien mirando ese código. – mdirolf
Cuando hago lo que haces y miro la salida de mongod, veo que se realizan conexiones para cada solicitud HTTP, incluidas las solicitudes de archivos css, js. –