2014-11-16 3 views
0

NServiceBus 서비스 localhost에 메시지를 대기열에 추가합니다.WebClient MVC 컨트롤러에 게시 NServiceBus/Queue 서비스에서

[HttpPost] 
[AllowAnonymous] 
public void MyMethod(long accountId, long channelId, long messageId) 

이 코드를 가진 HttpPost 시도 System.Net.WebClient을 사용하고 있습니다 :

var url= "http://localhost:53777/MyMethod"; 
var _accIdStr = Convert.ToString(_accountIdLong); 
var _chanIdStr = Convert.ToString(_channelIdLong); 
var _messIdStr = Convert.ToString(_messageIdLong); 

using (var client = new WebClient()) 
{ 
    var values = new NameValueCollection 
    { 
      { "accountId", _accIdStr }, 
      { "channelId", _chanIdStr }, 
      { "messageId", _messIdStr } 
    }; 
    var responsebytes = client.UploadValues(url, "POST", values); 
    var responsebody = Encoding.UTF8.GetString(responsebytes); 
} 
내 NServiceBus 서비스는 메시지가 어떤 작업을 수행 한 후 다음 서명이있는 ASP.NET MVC 컨트롤러를 호출하려고 도착

난 그냥 오류가 점점 오전 :

The remote server returned an error: (500) Internal Server Error.

내가 브레이크 포인트가 MyMethod에 설정하고이도 타격을 받고되지 않습니다, 어떤 항목이 없습니다 MyMethod. 그게 날 MyMethod의 서명이 라우팅되지 않는 것 같아요.

아니면 로컬 호스트이기 때문일 수 있습니까?

답변

1

500은 일반적으로 MVC 응용 프로그램에서 예외가 발생했음을 의미합니다.

중단 점이 적중되지 않으면 모델 바인더는 게시 데이터를 fields 속성에 바인딩하지 않습니다.

맞았 으면 충돌하는 코드 줄을 확인하고 문제를 해결하십시오.

또한 컨트롤러 이름을 포함하지 않고 컨트롤러에 액세스하려는 것 같습니다. 기본 MVC 경로는 BASEURL/CONTROLLERNAME/ACTION입니다. 여기서 ACTION은 MyMethod입니다. 그래서 당신은 http : // localhost : 53777/CONTROLLERNAME/MyMethod이되어야합니다

+0

예 "MyMethod"를 치지도 않습니다. 중단 점 세트가 있습니다. –

+0

그냥이 이름이 localhost/CONTROLLERNAME/내 방법 –

+0

오 !!! 나는 그것 인 것을 내기한다!! 나는 밤새도록 일어나서 그 일을 그만둬야 해. –

관련 문제