Шаблон веб-сайта ASP.NET VS2012 по умолчанию на узле среднего доверия
У меня есть проект шаблона веб-сайта ASP.NET по умолчанию, который я создал с помощью VS2012. Я пытаюсь опубликовать его на 1and1.com, где разрешено только Среднее доверие. Видимо, этот шаблон ожидает полного доверия, но я не могу понять, что мне нужно делать.
Я получаю ошибку...
[SecurityException: Request for the permission of type 'System.Security.Permissions.TypeDescriptorPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check(PermissionSet permSet, StackCrawlMark& stackMark) +31
System.Security.PermissionSet.Demand() +68
System.ComponentModel.TypeDescriptor.AddProviderTransparent(TypeDescriptionProvider provider, Type type) +153
System.Web.DynamicData.MetaModel.CreateSimpleModel(Type entityType) +77
System.Web.DynamicData.MetaTable.CreateTable(Type entityType) +9
System.Web.UI.DataControlExtensions.GetTableFromCache(Type entityType) +64
System.Web.UI.DataControlExtensions.EnableDynamicData(INamingContainer control, Type entityType) +14
1 ответ
Исходя из стека трассировки, я предполагаю, что вы используете DynamicData на своем веб-сайте, и вы сказали, что используете шаблон веб-сайта в Visual Studio.
Есть несколько проблем с этим, но вы можете попробовать несколько вещей:
1. Не используйте шаблон веб-сайта, но шаблон веб-приложения
или же
2. Предварительная компиляция веб-сайта перед развертыванием
или же
3. Переместите файл edmx из каталога App_Code в отдельную библиотеку, скомпилируйте его и добавьте полученный DLL-файл в папку bin веб-сайтов.
Здесь и здесь вы можете найти больше информации об этой проблеме.