réflexion LINQ avec hôte niveau de confiance
-
01-10-2019 - |
Question
Je vais avoir du mal avec mon projet et de le déployer sur mon fournisseur d'hébergement Web. Je suis sur un environnement d'hébergement partagé avec confiance « hôte niveau ».
J'ai LINQ utilisé dans mon projet, mais maintenant ils ont juste moi dit que la réflexion est désactivé sur leurs services partagés. Je crois que la réflexion est nécessaire pour être en mesure d'utiliser des variables dans les requêtes.
Quand je lance le projet dans l'environnement de confiance de niveau hôte, je reçois une exception:
MethodAccessException:
System.Runtime.CompilerServices.StrongBox`1..ctor(System.__Canon)
Est-ce que quelqu'un a une expérience dans ce domaine? Toutes les suggestions seraient grandement appréciés
Il est à défaut sur ce code:
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();
}
}
La solution
Tout est-il dans la requête d'un membre du public dans une classe publique?
Une autre solution possible:
Autres conseils
Essayez de remplacer
from c in dc.CF_Clients
avec
from Client c in dc.CF_Clients
Ou quel que soit votre type est (dans ce cas, je suppose qu'il est un objet client). Si vous lancez implicitement les objets de la collection, alors il ne devrait pas avoir à la réflexion d'utiliser pour accéder aux propriétés de la requête.