2010-06-30 1 views
2

내 프로젝트에 어려움을 겪고 있으며 웹 호스팅 공급자에 배포하고 있습니다. "호스트 수준"트러스트를 사용하는 공유 호스팅 환경에 있습니다.호스트 수준 트러스트를 사용하는 LINQ 반영

내 프로젝트에서 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(); 

    } 
} 
+0

당신은 LINQ를 사용할 수 있도록 반사 권한이 필요하지 않습니다, 당신은 문제를 일으키는 실제 코드를 게시해야합니다. –

+0

linq 문에서 변수를 사용할 수없는 것으로 보입니까? – Mike

+0

또한 "var"를 제거하고 적절한 유형으로 바꿨지 만 별다른 차이는 없습니다. 그것은 username 변수에 문제가있는 것 같습니다. – Mike

답변

0

쿼리의 모든 항목이 공용 클래스의 공용 멤버입니까?

http://social.msdn.microsoft.com/forums/en-US/adodotnetdataservices/thread/0dc87db4-c145-456b-a19f-eebc16c09efb/

또 다른 가능한 솔루션을 참조하십시오 :

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

+0

예, 모든 것이 공개되어 있으며 여전히 동일한 작업을 수행합니다 – Mike

+0

다른 사람이이 문제를 발견하게되었습니다. 다른 해결책이있는 블로그 게시물에 대한 링크를 추가했습니다. 당신이 그것을 할 수있는 권리가 있는지 확실하지 않습니다. – TrueWill

0

이 경우에 (당신의 유형은 무엇이든

from Client c in dc.CF_Clients 

또는 함께

from c in dc.CF_Clients 

를 교체하십시오 : 모든 제안을 크게

이 코드에 실패한 것을 감상 할 수있다 Client 객체라고 가정). 컬렉션에서 개체를 암시 적으로 캐스팅하면 리플렉션을 사용하여 쿼리의 속성에 액세스 할 필요가 없습니다.

+0

이것은 아무런 효과가 없었습니다. 같은 코드에서 동일한 메시지가 계속 나타납니다. – Mike

+0

내 쿼리에서 username 변수를 가져 와서 String.Empty로 바꾸면 코드가 작동합니다. – Mike