2012-01-23 2 views
0

저는 WCF 서비스가 아닌 일반 .NET 웹 서비스를 사용하고 있습니다.WP7에서 일반 웹 서비스 호출

서비스 참조를 사용하여 WP7 프로젝트에이 서비스를 추가했습니다. 일반적으로 Add Service Reference 옵션을 사용하여 WCF 서비스를 추가하지만 여기서 Add Service Reference 옵션을 사용하여 일반 웹 서비스를 추가합니다.

예를 들어 나는이 같은 서비스가 있습니다

public class Service1 
    { 
     //local class variable 
     public MsgHeader msh; 

     //I have two functions like below: 
     [WebMethod] 
     public int Fun1() 
     { 
      return 1; 
     } 
     [WebMethod] 
     public int Fun2() 
     { 
      // Here i am checking msh(MsgHeader) values with the database. 
      //If this information is not correct i am not proceeding further. 
      // some calculations 
      return result; //returning some results 
     } 
    } 

내가 WP7이 같은 방법을 호출 오전 :

Class TestModel 
{ 
    public void TestFun1() 
     { 
      RS.Service1SoapClient objRS = new RS.RSService1SoapClient(); 
      objRS.Fun1Completed += new EventHandler<RS.Fun1CompletedEventArgs>(objRS_Completed); 
      objRS.Fun1Async(); 
     } 

    private void objRS_Completed(object sender, EventCompletedEventArgs e) 
     { 
      string str = e.Result; 
      responseEventArgs = new ResponseEventArgs(); 
       responseEventArgs.response = e.Result;     
       System.Windows.Deployment.Current.Dispatcher.BeginInvoke(responseEventHandler, responseEventArgs); 
     } 
} 

여기에 내가 Fun1에 대한 성공적 결과를 얻을 수 있어요. 하지만 Fun2에서 변수 msh과 같은 서비스 클래스 변수를 사용하는 동일한 서비스에서 하나 이상의 함수 (Fun2)가 있습니다. 서비스 참조를 추가 할 때 Service1SoapClient (TestFun1 함수의 TestModel에 표시된 것처럼)라는 이름의 Service 클래스를 얻고 TestFun1() 함수에서 해당 클래스의 객체를 작성했습니다 (wp7).이 객체 (ServiceSoap1Client)에는 msh이라는 변수가 없지만 Service1SoapClient 클래스에는 Fun2Async() 및 Fun2Completed 이벤트가 있습니다.

내가 여기에 2010 년

내가 같은 이름을 가진 내 서비스 클래스를 얻고 Visual Studio에서 웹 참조 추가를 사용하여 동일한 서비스를 추가하고 내가 그 클래스의 객체를 생성 한, 내가 여기 있나 할 수 그 변수 MSH하지만 WP7에서는 같은 변수를 얻을 수 없습니다. Visual Studio에서 웹 참조를 들어

코드

Private void Test() { SR.Service1 objS=new SR.Service1(); SR.MsgHeader msh=new SR.MsgHeader(); msh.Name="test"; // I have given some more values to msh objS.msh=msh; int result= objS.Fun2(); } 

내 질문에 2010

은 다음과 같습니다

나는 우리가 웹 참조를 추가 할 필요가 없기 때문에 서비스 참조를 사용하여 정상적인 웹 서비스를 추가 한

1) 비주얼 스튜디오 2010 Windows 전화에 대한 표현. 맞아?

2) 서비스 참조를 사용하여 일반 웹 서비스를 추가했습니다. 올바른 방법 인 경우 해당 변수 msh를 어떻게 얻을 수 있습니까?

3) 서비스 참조를 사용하여 일반 웹 서비스를 추가했습니다. 올바른 방법이 아닌 경우 어떻게 WP7에서 일반 웹 서비스를 호출 할 수 있습니까?

도와주세요. 미리 감사드립니다.

+0

나는 누군가가 당신이 전화하고있는 웹 서비스를 보지 않고이 문제를 해결할 수있을 것이라고 생각하지 않는다. URL이 있습니까? 또는 문서? – ColinE

+0

ColinE 답장을 보내 주셔서 감사합니다.하지만 몇 가지 문제로 인해 URL과 설명서가 표시되지 않습니다. 하지만 한 가지 질문이 있습니다. 서비스 참조 추가를 사용하여 일반 웹 서비스를 추가 할 수 있습니까? –

답변

2

Visual Studio에서 '서비스 참조 추가'대화 상자에 의해 생성 된 프록시 클래스를 사용하여 서버에서 실행되는 웹 서비스 클래스를 혼란스럽게 생각한다고 생각합니다.

프록시 클래스는 웹 서비스에서 [WebMethod] 메서드를 호출하는 방법을 제공하는 메서드를 제공합니다. 필드 (공인)조차도 동일하지 않습니다.

두 가지 다른 클라이언트가 둘 다 'msh'값을 변경하면 어떻게 될까요?

각 서비스 방법에 필요한 모든 상태를 전달하는 것이 좋습니다.