Проблема LINQ при развертывании в WinHost - PullRequest
1 голос
/ 17 июля 2010

У меня есть относительно простое приложение ASP.net MVC 2, которое использует SubSonic. Кажется, что все локально работает хорошо, но когда я развернул его в WinHost, я получаю исключение, подобное этому:

System.TypeAccessException: Attempt by method 'DynamicClass.lambda_method(System.Runtime.CompilerServices.Closure, System.Data.Common.DbDataReader)' to access type 'System.RuntimeType' failed.
   at lambda_method(Closure , DbDataReader )
   at SubSonic.Linq.Structure.DbQueryProvider.Project[T](DbDataReader reader, Func`2 fnProjector)
   at SubSonic.Linq.Structure.DbQueryProvider.Execute[T](QueryCommand`1 query, Object[] paramValues)
   at lambda_method(Closure )
   at SubSonic.Linq.Structure.DbQueryProvider.Execute(Expression expression)
   at SubSonic.Linq.Structure.QueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)
   at System.Linq.Queryable.Count[TSource](IQueryable`1 source)
   at Foo.Web.Data.Baz.SingleOrDefault(Expression`1 expression)
   at Foo.Web.Models.Data.DataFacade.GetBar(Int32 id)
   at Foo.Web.Controllers.Baz.Edit(Int32 id)
   at lambda_method(Closure , ControllerBase , Object[] )

Это определенно скребок головы, так как я не уверен, что конкретно я делаю не так. Мое предположение заключается в том, что его экологические (возможно, на основе разрешений). Я не уверен, является ли это вопросом запроса LINQ, SubSonic или чем-то специфичным для WinHost. У кого-нибудь есть идеи о том, как я должен подходить к этому или где / в чем проблема? Еще раз, приложение работает хорошо локально.

Примечание: имена объектов / методов изменены в образце

Ответы [ 2 ]

3 голосов
/ 18 июля 2010

Это похоже на проблему среднего доверия.Текущие выпуски Subsonic не поддерживают среднее доверие.Если вы извлечете последнюю версию из github (http://github.com/subsonic/SubSonic-3.0), то изменение 10 июля включило среднее доверие. Я пробовал сам, но источник довольно надежный.

0 голосов
/ 18 июля 2010

Вы пытались изменить уровень доверия вашего приложения?

...