RavenDB EmbeddedDocumentStorage в Medium Trust - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь использовать RavenDB в Medium Trust, я хотел бы попробовать встроенную модель, поскольку хостинг (дешевый), который я использую, не позволит установить сервис.Мой код для инициализации следующий:

private void ConfigureStorage()
    {
        store = new EmbeddableDocumentStore();
        store.Configuration.DefaultStorageTypeName = "munin";
        store.Configuration.DataDirectory=Server.MapPath("$/App_Data");
        store.Initialize();
    }

, который работает с полным доверием, но в Medium он выдает:

Запрос разрешения типа 'System.Security.Permissions.SecurityPermission, mscorlib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 'завершилась неудачно. со следующей трассировкой стека:

[SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.StubHelpers.StubHelpers.DemandPermission(IntPtr pNMD) +0
   Microsoft.VisualBasic.CompilerServices.NativeMethods.GlobalMemoryStatusEx(MEMORYSTATUSEX& lpBuffer) +0
   Microsoft.VisualBasic.Devices.InternalMemoryStatus.Refresh() +68
   Microsoft.VisualBasic.Devices.InternalMemoryStatus.get_TotalPhysicalMemory() +11
   Microsoft.VisualBasic.Devices.ComputerInfo.get_TotalPhysicalMemory() +49
   Raven.Database.Config.InMemoryRavenConfiguration.GetDefaultMemoryCacheLimitMegabytes() +301
   Raven.Database.Config.InMemoryRavenConfiguration.Initialize() +631
   Raven.Database.Config.RavenConfiguration.LoadConfigurationAndInitialize(IEnumerable`1 values) +311
   Raven.Database.Config.RavenConfiguration..ctor() +189
   Raven.Client.Embedded.EmbeddableDocumentStore.get_Configuration() +99
   Wine2.MvcApplication.ConfigureStorage() +84
   Wine2.MvcApplication.Application_Start() +84

Сборка ворона: Версия 573

Есть ли обходной путь, чтобы он работал при среднем доверии, или этот сценарий не поддерживается?

Ответы [ 2 ]

4 голосов
/ 30 января 2012

При строгом среднем доверии RavenDB не будет работать. Но есть много хостинговых компаний, которые предоставляют хостинг, где RavenDB работает, потому что они подправили разрешения.

2 голосов
/ 06 февраля 2012

По своему опыту я просто перестал пытаться запустить встроенный магазин в Medium Trust .Я получил ту же ошибку, описанную в вашем вопросе.

Чтобы преодолеть это, вы можете попробовать www.winhost.com , как описано здесь:

Как можноЯ запускаю RavenDB в среде общего хостинга?

Он имеет желаемое значение Полное доверие разрешено , что следует искать в случае RavenDB, чтобы избежать текущих разрешений безопасностипроблемы ...

ПРИМЕЧАНИЕ: Я только что попробовал этот хост и могу подтвердить, что он отлично работает с RavenDB в полном доверии ...: -)

...