Отражение LINQ с доверием уровня хоста
-
01-10-2019 - |
Вопрос
Мне трудно с моим проектом и развертываем его на моем провайдере веб-хостинга. Я нахожусь в общей среде хостинга с доверием «Уровень хоста».
Я использовал 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();
}
}
Решение
Все ли в запросе публичный член в открытом классе?
Другое возможное решение:
Другие советы
Попробуйте заменить
from c in dc.CF_Clients
с участием
from Client c in dc.CF_Clients
Или все, что ваш тип (в этом случае я предполагал, что это клиентский объект). Если вы неявно отбрасываете объекты из коллекции, то не должно использовать отражение для доступа к свойствам в запросе.