2013-05-08 1 views
1

클라이언트에서 WCF 메서드로 응답을 받으려고합니다. void 메소드를 실행하려고하면 제대로 작동합니다. 예 :WCF 데이터 서비스 부울 메서드 호출

Uri u = new Uri(string.Format(LogIn.ctx.BaseUri + "/CreateRole?name='{0}'", 
TextBox1.Text), UriKind.RelativeOrAbsolute); 

LogIn.ctx.Execute(u, "GET"); 

이제는 부울을 반환하는 메서드를 호출하고이 값이 사용됩니다. 여기에 내가 전화하고 반환 값을 수신 할 방법은 다음과 같습니다

[WebGet] 
public bool Controler(string role, string user) 
{ 
    if (Roles.IsUserInRole(user, role)) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 
+1

두 번째 방법은 작동하지 않습니다? 그렇지 않은 경우 잘못된 행동이 발생하는 것에 대한 답을 설명에 추가 할 수 있습니까? 클라이언트가 데이터를 다시 보내지 않는다고 추측합니까? – Ren

답변

0

대신 LogIn.ctx.Execute(u, "GET")의이 시도 :

IEnumerable<bool> result = LogIn.ctx.Execute<bool>(u); 
bool answer = result.Single(); 
+0

나는 그것을 시도했지만 DataServiceQueryException을 throw하고 예외의 세부 사항을 확인할 때 "null 참조 객체 참조가 객체의 인스턴스로 설정되지 않았습니다"라는 결과가 나타나지 않는 것처럼 보입니다. 서비스 및 허위하지만 어떤 방법으로 반환하는 간단한 테스트를 넣어! – user2233979

+0

그것은 내가 다시 작성해야만했거나 서비스 참조를 다시 업데이트해야했습니다. 감사 – user2233979