Raven Db能否在Winhost上运行?

3

我正在尝试在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的共享Web主机提供商列表?:-)


1
这个问题解决了吗?你成功地解决了它吗? - K Ronning
1
不,我猜我只是假设它不会起作用。我开始运行EC2微实例。至少在那里,我可以完全控制一切,并且没有在那里运行raven网站的问题。 :-) - Jukka Puranen
3个回答

2

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


1
我正在以完全信任和嵌入模式运行我的应用程序,但是Raven总是调用Raven.Database.Util.PortUtil.FindPort()吗?因为我关闭了UseEmbeddedHttpServer选项,仍然得到了FindPort()调用。 - Jukka Puranen
@Ayende:在使用嵌入式存储时,您真的需要调用FindPort()吗?我也认为设置“UseEmbeddedHttpServer = false”会让我摆脱这个安全异常...但事实并非如此。代码仍然调用那个方法。 - Leniel Maccaferri

1

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

运行时,您会收到有关WebSockets的错误。 您可以打开支持票证以启用它并禁用“Overlapped Recycle”。

如果您想在Winhost上尝试RavenDb,我(Winhost的员工)在此处编写了官方启动指南


你是否写过类似的指南,涉及使用Code First的MSSQL和Entity Framework?或者知道这样的资源。 - Chef_Code

1

您可以按照以下步骤尝试 www.winhost.com

如何在共享托管环境中运行RavenDB?

该主机支持完全信任,这是在使用RavenDB时应该考虑的一点,以避免当前的安全权限问题...

注意:我刚刚尝试了这个主机,并确认它与RavenDB在完全信任下非常兼容... :-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接