嵌入模式下的RavenDB - Raven Silverlight Studio(Raven.Studio.xap)不能正常工作

时间:2012-01-04 09:00:00

标签: ravendb ravendb-studio

我有一个小型控制台应用程序与Raven进行一些持久性工作正常,但我无法让Raven Studio Web-App正常工作。 我想我已经阅读了网上的每篇文章/博客文章,但我还没有完成它。

该项目引用了Raven.Client.Embedded,Raven.Client.Lightweight和Raven.Storage.Esent程序集)

这是启动我的控制台应用程序的非常简单的代码:

class Program
{
   static void Main(string[] args)
{
  EmbeddableDocumentStore store = new EmbeddableDocumentStore { DataDirectory = @"C:\temp\ravendata", UseEmbeddedHttpServer = true };
  store.Initialize();

  Console.WriteLine("Initialized");
  while (true)
  {
    string line = Console.ReadLine();
    if (line == "w")
    {
      Changeset cs = CreateChangeset();

      using (var session = store.OpenSession())
      {
        session.Store(cs);
        session.SaveChanges();
      }
      Console.WriteLine("Written.");
    }
  }

问题是:在哪里放置Raven.Studio.xap以使其在浏览器中运行(http:// localhost:8080 / Raven / studio.html)? 它不在我的控制台应用程序的bin / debug输出文件夹中(这应该是它应该是最合乎逻辑的区域),并且如果我将它放在我的控制台应用程序的根目录中则不行。

很抱歉再次提出这个问题,但似乎有一些问题我不知道这个问题是为了让它运行起来。 ;)

感谢您的帮助,R's,Rene

1 个答案:

答案 0 :(得分:2)

你是对的,我已经尝试使用新的控制台应用程序项目并遇到了同样的问题,尽管我将文件Raven.Studio.xap复制到了\ bin \ debug AFTER 我有第一次看到错误信息。

我发现,其原因与浏览器缓存有关。即使该文件现在可用,嵌入式http服务器也会返回304 Not Modified,因为它已将If-None-Match标头发送到请求中。因此,将使用浏览器缓存中缓存的“未找到”页面。

我修好了它并向Ayende发送补丁。但现在的解决方案是: 1)确保Raven.Studio.xap位于\ bin \ debug下 2)清除浏览器缓存