Entity Framework в среде частичного доверия - PullRequest
1 голос
/ 15 сентября 2009

Я знаю, что Entity Framework поддерживает частичное доверие, я лично писал об этом

Это работало нормально, я проверил это, и это было хорошо. Теперь, если вы загрузите примеры, прикрепленные к моему сообщению о предмете, он больше не будет работать с частичным доверием по умолчанию !!!

Когда я копался в сборке System.Data.Entity, используя отражатель на месте сбоя, «System.Data.Objects.LightweightCodeGenerator.ValidateSetterProperty (RuntimeMethodHandle setterMethodHandle, MethodInfo & setterMethodInfo, свойство Type & realTypetime вызывал, что я заметил, что itho, вызывающее свойство it.TimeTimeTimes, вызывает, что оно вызывает функцию« typeThomeTime », вызываемую мной, и выявляет, что оно вызывает. имеет следующий атрибут при получении доступа "[SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode = true)]"

Итак, я перешел к своей конфигурации среднего доверия и добавил еще один флаг "UnmanagedCode" ""

Я снова тестирую приложение, и оно работает нормально.

Теперь, что все это значит ?! Раньше это работало, так почему бы и нет? Там чего-то не хватает !!! Изменялся ли System.Data.Entity во время нескольких частых обновлений VS.NET 2008 SP1, а последнее было сделано в августе 2009 года. Потому что до этой даты он работал нормально.

Так что я был бы признателен, если бы кто-нибудь мог прояснить это и направить меня, если я ошибаюсь, или я что-то упускаю.

Ответы [ 2 ]

1 голос
/ 17 сентября 2009

Диего Вега PM в команде Entity Framework ответил на эту проблему на форумах Entity Framework следующим

Привет Мухаммед,

Нам известно о проблеме в сборке. включен в Windows 7 и Windows Server 2008 R2, который предотвращает Entity Фреймворк от работы в Medium Trust.

И версия mscoree.dll и сообщение об исключении, которое вы описываете соответствовать сценарию.

Мы ожидаем решения до массовое внедрение Windows 7 и Windows Server 2008 R2, но в Между тем, рекомендация заключается в продолжать использовать Windows Server 2008 или Windows Vista для тестирования и развертывание приложений на основе EF в Средний траст.

Надеюсь, это поможет, Диего

1 голос
/ 15 сентября 2009

Похоже, у вас есть окончательное доказательство серьезного изменения Entity Framework. Я бы пошел на http://connect.microsoft.com/ и сообщить об ошибке. Вероятно, было бы полезно, если бы вы могли подтвердить, что изменение было сделано путем поиска старой сборки без атрибута «UnmanagedCode = true». Включите обе версии в отчет об ошибке.

Кстати, я только что посмотрел на RuntimeMethodHandle в Reflector. Метод доступа get для Value возвращает "this.m_ptr;" и не имеет атрибутов украшений. Это в mscorlib, моя версия 2.0.0.0 (я использую .NET 3.5 в моей системе разработки.)

...