2011-05-06 6 views
2

4 일간 논스톱으로 검색했습니다. 나는 잠자고 미쳐 가고있다. 누군가 나를 도울 수 있거나 적어도 내가 잘못하고있는 것을 말해 줄 수 있습니까? 이것은 내 프로젝트입니다 http://www.marksmerry.com/peanutbutter/WebService1.asmx에있는 웹 서비스를 사용하는 클라이언트 웹 페이지 앱을 개발하십시오. 서비스에서 임의의 숫자를 생성합니다. m 이 서비스는 1 ~ 100 사이의 정수를 추측합니다. - 추측이 m보다 낮은 경우 ASP.Net 및 웹 서비스

  • 동일 - 추측이 맞다면
  • 높은 - 추측이 m보다 높은 경우
  • 내가 가진

    • 낮은 : 그것은 문자열을 반환 웹 서비스를 참조했지만 구문이나 뭔가를 잃어 버렸습니다. 제발 도와주세요! 이것은 내가 지금까지 가지고있는 것이다.

      using System; 
      using System.Collections.Generic; 
      using System.Linq; 
      using System.Web; 
      using System.Web.UI; 
      using System.Web.UI.WebControls; 
      using localhost; 
      using System.Web.Services; 
      
      public partial class _Default : System.Web.UI.Page 
      { 
          protected void Page_Load(object sender, EventArgs e) 
          { 
      
          } 
          protected void Button1_Click(object sender, EventArgs e) 
          { 
           localhost.WebService1 ws1 = new WebService1(); 
           //What goes in this area. I have been searching and have tried all kinds of combination all have resulted in build errors 
      
      
          } 
      } 
      
    +1

    질문 제목을 쓰는 방식을 좋아합니다 :) –

    +0

    WS에 웹 참조가 제대로 추가 되었습니까? "localhost"를 사용하면 WS를 로컬에서 실행 중임을 나타냅니다. 그게 그렇게 생각 나니? – tzup

    +0

    msdn이 사용 중이기 때문에 로컬 호스트를 선택하기 만합니다. – Stephen

    답변

    2

    유형 ws1. 메소드 목록이 나타납니다.

    'peanutbutter'웹 서비스를 참조 할 때 Visual Studio에서 발견 한 모든 서비스 메소드가 프록시 클래스 (코드 예제에서 WebService1)를 호출 할 수 있습니다.

    +0

    방법은 이것을 고려할 것입니까? – Stephen

    +0

    나는이 논리를 이해하고 싶다. 그래서 다음은 [WebMethod] 태그 아래에있는 웹 서비스의 메소드입니다. – Stephen

    1

    브라우저에 url을 입력하면 브라우저에 어떤 방법이 있는지 알려줄 것입니다.

    http://www.marksmerry.com/peanutbutter/WebService1.asmx

    I는 INT 걸리는 웹 메소드 추측을 볼 수있다. 당신은 당신이 그것에게 이름을 부여 할 수있는 기회를 가지고해야 참조를 추가 할 때

    코드에 따라, 당신은

    string result = ws1.Guess(10); // or input 
    
    +0

    문자열을 int로 변환 할 수 없다고 말합니다 – Stephen

    +0

    "추측"이 문자열을 반환하기 때문입니다. – tzup

    +0

    내 코드를 지금보십시오. int를 문자열로 변경했습니다. – sajoshi

    1

    string result = ws1.Guess(42);

    0

    통해 호출 할 수 있습니다. 그것은 의미 론적 일 뿐이지 만 localhost와는 다른 이름을주는 것이 낫습니다.

    이전 주석가가 좋은 제안을했습니다.

    내가 제안하는 것은 이것입니다.

    문자열 결과 = ws1.Guess ("10"); // 편집 : 이것은 물론 잘못되었습니다. int가 필요합니다.

    오늘 아침 웹 서비스를 사용하여 작업을했습니다.

    myCoService.Service1 v24 = new myCoService.Service1();

    System.Xml.XmlNode doc = v24.CreateSite (newSiteName);

    그만큼 간단해야합니다.

    내가 웹 레퍼런스를 설정하는 방법을 다시 살펴볼 필요가 없다면. 또한 사용중인 NET 프레임 워크를 알려주십시오.

    테스트 프로젝트에 대한 웹 참조와이 이벤트를 발생시키는 페이지의 버튼을 추가했습니다.

    protected void PeanutGuess_click(object sender, EventArgs e) { 
         PeanutButter.WebService1 pb = new PeanutButter.WebService1(); 
    
         string response = pb.Guess(10); 
    
         lblResult.Text = string.Format("Response for 10 is " + response); 
        } 
    

    잘 작동합니다. VS2010을 사용 중이며 프로젝트에서 Net Framework 3.5를 사용합니다.

    +0

    .net 프레임 워크는 4.0입니다. 이게 바로 제가 고맙다고 생각한 것입니다. 프로젝트의 두 번째 부분으로 내가 추측 한 횟수를 알려주는 레이블을 가지고 있습니다. 내가 추측 한 횟수만큼 파운드를 변경하는 방법은 무엇입니까? – Stephen

    +0

    위의 PeanutGuess_click 이벤트에 삽입 한 코드를 보면 라벨의 텍스트 속성을 업데이트하는 것을 볼 수 있습니다. 그게 당신이해야 할 전부입니다. 변수를 가져 와서 추측 할 때마다 값을 늘리고 레이블에 값을 씁니다. –