SORU
30 EKİM 2012, Salı


Nasıl UseEmbeddedHttpServer doğru 2 katmanlı mimari kullanılarak ayarlandığında RavenDB benim uygulama düzgün çalıştırmak yapabilir miyim?

KullandımRavenDB-Gömülü 2.0.2230benim uygulama ASP ile etkileşim içinde .Net Web farklı derlemeler API.

Belge deposu, RavenDB için bir istek göndermek, düzgün çalıştırır ama denediğimde ilk defa UseEmbeddedHttpServer = true ikinci kez başladığım zaman benim uygulama Raven Studio görüntüler.

I UseEmbeddedServer ayar kaldırdığınızda, benim uygulama herhangi bir sorun olmadan çalışır.

Benim RavenDB veri aşama: aşağıdaki kodlar ile yapılandırılmış

this.documentStore = new EmbeddableDocumentStore
{
    ConnectionStringName = "RavenDB",
    UseEmbeddedHttpServer = true
}.Initialize();

ve Web.config Uygulama hizmeti katmanı bu ayarlar var :

<connectionStrings>
    <add name="RavenDB" connectionString="DataDir=~\App_Data\RavenDatabase" />
</connectionStrings>

Kaçırdığım bir ayar var mı?

Farklı bir bağlantı noktası Raven Studio uygulamak istiyorum herhangi bir ayarı var mı?

CEVAP
25 Ocak 2013, Cuma


Seni tarif deneyimi yaşayın tek yolu kasıtlı olarak bağlantı noktası çakışması yaratarak. Varsayılan olarak, RavenDB web server eğer raven port değiştiriyorsunuz yoksa 8080, o zaman port 8080 WebApi uygulama barındırma olmalısınız noktasına ev sahipliği yapıyor. Eğer durum bu değilse, lütfen bana yorum olarak bildirin, ama öyle olduğunu farz edeceğim.

Port Raven kullanır değiştirmek için tüm yapmanız gereken Initialize yöntemi çağırmadan önce bağlantı noktası değerini değiştirmek için.

App_Startup klasör Ekle RavenConfig.cs Bu dosya:

using Raven.Client;
using Raven.Client.Embedded;

namespace <YourNamespace>
{
    public static class RavenConfig
    {
        public static IDocumentStore DocumentStore { get; private set; }

        public static void Register()
        {
            var store = new EmbeddableDocumentStore
                        {
                            UseEmbeddedHttpServer = true,

                            DataDirectory = @"~\App_Data\RavenDatabase", 
                            // or from connection string if you wish
                        };

            // set whatever port you want raven to use
            store.Configuration.Port = 8079;

            store.Initialize();
            this.DocumentStore = store;
        }

        public static void Cleanup()
        {
            if (DocumentStore == null)
                return;

            DocumentStore.Dispose();
            DocumentStore = null;
        }
    }
}

Sonra Global.asax.cs dosyanıza aşağıdakileri yapın:

protected void Application_Start()
{
    // with your other startup registrations
    RavenConfig.Register();
}

protected void Application_End()
{
    // for a clean shutdown
    RavenConfig.Cleanup();
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David MeShow

    David MeShow

    10 EKİM 2006
  • Visual Life

    Visual Life

    3 Temmuz 2006
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007