2011-07-05 2 views
2

피들러 사용 ASP.NET MVC 작업 메서드 본문에 만들어진 외부 웹 서비스 호출을 추적하고 싶습니다.Fiddler에서 ASP.NET의 타사 웹 서비스 호출 추적 MVC 작업 메서드

이 코드를 콘솔 응용 프로그램 또는 Nunit 테스트로 실행하면 Fiddler를 사용하여 외부 서버에 요청/응답을 볼 수 있습니다. 내가 ASP.MVC 액션 메소드에서 웹 서비스를 호출 할 때 내 브라우저에서 액션 메소드로 요청을 볼 수 있지만

[Test] 
public void TestWebservice() 
{ 
    MyWebService checker = new MyWebService(); 
    i = checker.GetAge("bob"); 
    Assert.True(i >= 0); 
} 

나는, 외부 서버에 기본 요청을 볼 수 없습니다;

public ActionResult MakeTheCall(string name) 
{ 
    MyWebService checker = new MyWebService(); 
    i = checker.GetAge(name); 
    return View(); 
} 

피들러는 ASP.NET MVC 액션 메소드의 본문에 만들어진 타사 웹 서비스에 대한 요청/응답을 보여줄 수있는 방법이 있습니까?

+0

타사 웹 서비스가 로컬 호스트 또는 원격 호스트에서 호스팅됩니까? – sandyiit

+0

웹 서비스를 테스트 할 때 네트워크가 응답하지 않는 경우 한 가지 질문은 단위 테스트에 대한 테스트가 실패 할 것으로 기대합니까? 네트워크 문제 일 뿐이며 단위 테스트가 실패하기 시작하면 어떻게됩니까? 그게 네가 원하는거야? –

+0

@sandyiit - 타사 웹 서비스가 원격 호스트에 있습니다. @ JamieDixon 예, 네트워크가 다운되면 테스트가 실패합니다. 이 코드는 걱정하지 마십시오.이 코드는 webservice를 다른 방법으로 호출하는 방법을 설명하기위한 것으로 콘솔 앱으로도 똑같이 넣을 수 있습니다. –

답변

2
+1

GlobalProxySelection.Select = new WebProxy ("127.0.0.1", 8888); ASP.NET MVC 웹 응용 프로그램의 Application_Start 메서드에 추가 된 –

+1

GlobalProxySelection이 이제는 사용되지 않습니다. 대신 'WebRequest.DefaultWebProxy = new WebProxy ("127.0.0.1", 8888);를 사용하십시오. – phuzi

1

Fiddler를 역방향 프록시로 설정하고 주어진 포트의 로컬 호출을 다른 포트의 원격 서버로 전달할 수 있습니다. 따라서 localhost : 8888을 호출하도록 앱을 구성하고 Fiddler가 remote : 80으로 전달합니다.

http://www.fiddler2.com/fiddler/help/reverseproxy.asp

또 다른 옵션은이 설정을 쉽게 구성이 찰스이다.

당신이 프록시로 피들러 설정을 시도 할 수 있으며, 사용자가 웹 서비스를 설정하는 방법에 대한

세부 사항을 호출 할 때 피들러 프록시를 사용 섹션을 답변 코멘트에서 답을 이동

http://www.charlesproxy.com/

0

나는 phuzis 대답을 좋아했다 WebRequest.DefaultWebProxy = new WebProxy ("127.0.0.1", 8888);