Вопрос

Мне трудно с моим проектом и развертываем его на моем провайдере веб-хостинга. Я нахожусь в общей среде хостинга с доверием «Уровень хоста».

Я использовал LINQ в моем проекте, но теперь они только что сказали мне, что отражение отключено на их общих службах. Я считаю, что отражение требуется, чтобы иметь возможность использовать переменные в запросах.

Когда я запускаю проект в среде доверия к уровню хоста, я получаю исключение:

MethodAccessException:
System.Runtime.CompilerServices.StrongBox`1..ctor(System.__Canon)

У кого-нибудь есть какой-то опыт в этой области? Любые предложения будут ценны

Это не удается в этом коде:

public override bool ValidateUser(string username, string password) {

   using (var dc = new mcDataContext()) {
      var query = (from c in dc.CF_Clients
                   where c.Client_ID == username
                   select new
                   {
                      c.Client_Password
                   }).FirstOrDefault();

  }
}
Это было полезно?

Решение

Все ли в запросе публичный член в открытом классе?

Видетьhttp://social.msdn.microsoft.com/forums/en-us/adodotnetdataServices/thread/0dc87db4-c145-456b-a19f-eebc16c09efb/

Другое возможное решение:

http://www.nullify.net/article/332.aspx.

Другие советы

Попробуйте заменить

from c in dc.CF_Clients

с участием

from Client c in dc.CF_Clients

Или все, что ваш тип (в этом случае я предполагал, что это клиентский объект). Если вы неявно отбрасываете объекты из коллекции, то не должно использовать отражение для доступа к свойствам в запросе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top