Я успешно установил Membase Server, их функция «Задержка доступа менее миллисекунды» фактически вынудила меня написать этот вопрос, иначе я бы уже десять раз перешел на MongoDB. Итак, вопрос: я правильно установил и настроил свой сервер Membase, теперь я хочу, чтобы мое клиентское приложение .NET получило доступ к этой базе данных, для этого я использую их клиент Enyim .NET. Я написал следующее тестовое приложение:
using System;
using System.Linq;
using System.Diagnostics;
using Membase;
using Membase.Configuration;
namespace CouchDB
{
class MainClass
{
public static void Main(string[] args)
{
var config = new MembaseClientConfiguration()
{
Bucket = "helloworld",
BucketPassword = "123",
NodeLocator = typeof(Enyim.Caching.Memcached.DefaultNodeLocator),
Transcoder = new Enyim.Caching.Memcached.DefaultTranscoder(),
KeyTransformer = new Enyim.Caching.Memcached.TigerHashKeyTransformer(),
PerformanceMonitorFactory = null // I'm on Mac OS X
};
config.SocketPool.MinPoolSize = 10;
config.SocketPool.MaxPoolSize = 20;
config.SocketPool.DeadTimeout = TimeSpan.FromSeconds(10);
config.SocketPool.ConnectionTimeout = TimeSpan.FromSeconds(5);
config.Urls.Add(new Uri("http://localhost:8091/pools/default"));
var client = new MembaseClient(config);
var spoon = client.Get<String>("Spoon");
Console.WriteLine(spoon);
}
}
}
Проблема возникает, когда я пытаюсь создать клиента, возникает исключение, которое даже не отображает полный стек, говорит только
"Невозможно привести тип источника к типу назначения"
в System.Web.Script.Serialization.JavaScriptSerializer..ctor (resolver = null, registerConverters = false)