【问题标题】:Can Raven Db run on Winhost?Raven Db 可以在 Winhost 上运行吗?
【发布时间】:2011-08-09 12:08:28
【问题描述】:

我正在尝试在 Winhost 上以嵌入式模式运行 Raven Db,但出现以下堆栈跟踪的安全异常:

   System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
   System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) +31
   System.Security.CodeAccessPermission.Demand() +46
   System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties() +53
   Raven.Database.Util.PortUtil.FindPort() in PortUtil.cs:34
   Raven.Database.Util.PortUtil.GetPort(String portStr) in PortUtil.cs:17
   Raven.Database.Config.InMemoryRavenConfiguration.Initialize() in InMemoryRavenConfiguration.cs:109
   Raven.Database.Config.RavenConfiguration.LoadConfigurationAndInitialize(IEnumerable`1 values) in RavenConfiguration.cs:30
   Raven.Database.Config.RavenConfiguration..ctor() in RavenConfiguration.cs:19
   Raven.Client.Embedded.EmbeddableDocumentStore.get_Configuration() in EmbeddableDocumentStore.cs:45
   Raven.Client.Embedded.EmbeddableDocumentStore.set_DataDirectory(String value) in EmbeddableDocumentStore.cs:69
   StingyPrice.MvcApplication.Application_Start() in Global.asax.cs:42

我的应用程序在完全信任(内部)模式下运行,但从该异常来看,我大胆假设 Raven 永远不会运行,除非他们放松其安全策略。

我错了还是可以在 Winhost 上运行 Raven Db? 此外,如果不可能,我们将非常感谢可以运行 Raven Db 的共享网络托管服务提供商列表。 :-)

【问题讨论】:

  • 这个问题解决了吗?你搞定了吗?
  • 不,我想我只是假设它不起作用。我开始运行 EC2 微实例。至少在那里我可以完全控制一切,并且在那里运行一个有 raven 的站点没有问题。 :-)

标签: ravendb


【解决方案1】:

RavenDB 需要完全信任才能在服务器/嵌入式模式下运行。

【讨论】:

  • 我在完全信任的情况下运行我的应用程序并在嵌入式模式下运行 Raven,但 Raven 是否总是调用 Raven.Database.Util.PortUtil.FindPort()?因为我关闭了 UseEmbeddedHttpServer 选项,但我仍然收到 FindPort() 调用。
  • @Ayende:在使用嵌入式存储时,您真的需要调用 FindPort() 吗?我还认为设置UseEmbeddedHttpServer = false 会让我摆脱这个安全异常......但事实并非如此。代码仍然调用该方法。
【解决方案2】:

您可以尝试www.winhost.com,如下所述:

How can I run RavenDB in a shared hosting environment?

它具有非常理想的允许完全信任,这是在 RavenDB 的情况下应该寻找的东西,以避免当前的安全权限问题...

注意:我刚刚试用了这个主机,可以确认它在完全信任的情况下与 RavenDB 配合得很好...... :-)

【讨论】:

    【解决方案3】:

    是的,您可以在 Winhost 上运行 RavenDB。您需要更改web.config 文件,设置正确的Raven/WorkingDir 并启用完全信任。

    运行时,您将收到有关 WebSockets 的错误。您可以打开支持票以启用它并禁用“重叠回收”。

    如果您想在 Winhost 上试用 RavenDb,我(Winhost 的员工)写了一封 official startup guide here

    【讨论】:

    • 您不会碰巧写过关于 MSSQL 和使用 Code First 使用实体框架的类似指南,可能吗?或者知道这样的资源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 2021-05-04
    • 2012-06-20
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多