Pregunta

Tengo problemas con mi proyecto y su despliegue en mi proveedor de alojamiento web. Estoy en un entorno de alojamiento compartido con "Host Nivel" confianza.

Tengo LINQ usado en mi proyecto, pero ahora que me acabas de decir que la reflexión está deshabilitado en sus servicios compartidos. Creo que la reflexión es necesaria para poder utilizar variables dentro de las consultas.

Al ejecutar el proyecto en el entorno de nivel de host de confianza, me sale una excepción:

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

¿Alguien tiene alguna experiencia en esta área? Cualquier sugerencia sería muy apreciada

Se está fallando en este código:

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();

  }
}
¿Fue útil?

Solución

Otros consejos

Trate de reemplazar

from c in dc.CF_Clients

con

from Client c in dc.CF_Clients

O sea cual sea su tipo es (en este caso, supuse que es un objeto de cliente). Si lanzas implícitamente los objetos de la colección, entonces no debería tener que utilizar la reflexión para el acceso a las propiedades de la consulta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top