2016-08-08 4 views
0

좋아, 여기 이상한 사람이 있습니다. 웹 API 2 개체 크기

이 문제를 테스트하기 위해이 같은 엔드 포인트가 있습니다

[HttpPut] 
    public string Put(object value) 
    { 
     return value != null ? "ok" : "fail"; 
    } 

값 객체에 allways (예상대로) 내가 그것을 던져 JSON하게 직접 데이터를 던지고. 그러나 내가 개발중인 응용 프로그램은 일부 헤더를 확인하여 호출에 보안을 추가하는 게이트웨이를 통과해야합니다.

호출의 몸이 특정 크기에 도달 할 때까지 내 엔드 포인트의 모든도 좋아 보인다에게 전달 게이트웨이를 통과 한 후 값 객체가 입니다 (apperantly 471 문자는 472이 아닌 괜찮습니다) (그리고, 따라서 메소드는 '실패'를 리턴합니다.)

이 모든 것이 GW가 특정 크기로 본문을 자르므로 유효하지 않은 JSON이되고 값 개체가 null이됩니다. 하지만 게이트웨이 제공 업체에 이야기 한 후 그들은 테스트를 거쳤으며 이것이 문제가 될 수 없다고 말했습니다. (

context.BeginRequest += Application_BeginRequest; 

내가 디버깅 목적으로 인터셉터에 한 줄을 추가 :

여기에 나는이 같은 BeginRequest 리스너가 추가 문제의 내 더 추구 정말 이상한 부분을

온다 본문이 잘 렸는지 확인하기 위해) :

HttpContext.Current.Request.SaveAs("c:\\test.txt", true); 

이 줄을 추가하면 모든 것이 ac harm, 모든 통화가 (크기에 관계없이) 가져오고 값은 결코 null입니다. 줄을 다시 제거하려고 시도했는데 특정 크기에서 실패한 원래의 문제로 돌아 왔습니다. 난 정말이 문제를 디버깅을 수행하는 방법에 대한 몇 가지 조언이 필요 도대체

에 가고

.

답변

0

어쨌든 제 3 자 GW의 문제로 판명되었습니다. 이제는 문제를 해결하려고합니다.