2011-03-02 2 views
0

나는 WCF 휴식에 초보자입니다. POST와 GET 메소드의 두 가지 운영 계약이 있습니다. 클라이언트에서 HttpWebRequest를 사용하고 작업 계약에 액세스하려고합니다.WCF 휴식 클라이언트 - 포스트 타임 아웃

POST 메서드 작동 계약에 액세스 할 때마다 시간 초과 오류가 발생합니다. 하지만 성공적으로 GET 메서드를 사용한 후 POST 메서드에 액세스하려고하면 모든 것이 올바르게 작동합니다.

POST 메서드 호출 다음에 GET 메서드 호출을 사용해야합니까?

내가 여기서 뭐하는거야?

답변

0

POST 전에 GET을 수행하지 않아도됩니다. 오류는 실제로 POST 시간 초과가 아니라 서버로가는 나쁜 데이터와 비 직렬화에 실패한 서버 일 수 있습니다.

GET이 서버로 돌아가는 클라이언트의 일부 데이터를 설정하고있을 가능성이 있습니까? 그렇다면 GET이 설정하지 않은 경우 서버에서 POST가 실패하는 데이터로 설정할 수 있습니까?

가장 좋은 방법은 서버에서 추적을 설정하는 것입니다. WCF 추적의 좋은 예는 here을 참조하십시오.

업데이트 : : 또 다른 가능성은 GET 코드가 POST 호출이 누락 된 서버 쪽에서 초기화하는 것입니다. 아마도 DB 연결일까요?

+0

제안 해 주셔서 감사 드리며 다시 시도해 보겠습니다. 빠른 검증 btw, POST를 통해 전송되는 데이터가 좋지 않은 경우 GET 메소드를 통해 액세스 한 후에도 실패합니다.하지만 어떻게 작동합니까? – Anu

+0

GET을 사용하여 나중에 게시 할 데이터를로드하지 않는 한 이 경우 요청에 더 많은 내용이있을 수 있습니다. 귀하의 질문에 대한 세부 사항을 말하고 제안을 던지기 란 어렵습니다. 그러나 일반적으로 요청은 stateless이므로 GET과 POST는 전혀 상호 작용하지 않아야합니다. – ale

+0

Httpwebrequest와 JsonSerialization을 사용하여 휴식 서비스에 액세스하려고 시도했지만 내 게시물은 문제없이 작동합니다. 내 서비스에 액세스하기 위해 servicemodel.clientbase를 사용하는 다른 클라이언트가 있습니다. 이 경우 게시물 메서드에 액세스 할 때 시간 초과가 발생합니다. 여기에 놓친 모든 설정이 있습니다. 클라이언트베이스를 사용하여 휴식 서비스에 액세스하고 있습니까? – Anu