2011-02-19 4 views
0

HTTP POST를 통해 ASP.NET 웹 서비스에 액세스 할 때 null 값을 ASP.NET 웹 서비스에 전달하는 방법은 무엇입니까?HTTP POST를 사용하여 null 값을 ASP.NET 웹 서비스에 전달 하시겠습니까?

[WebMethod] 
public string GetResult(DateTime date, int foo) 
{ 
    //do stuff here 
} 

HTTP POST를 사용하여이 메서드를 호출 할 때 null 매개 변수는 어떻게 전달합니까? 빈 문자열을 전달하면 서버가 문자열 매개 변수를 DateTime으로 변환하려고하는 예외를 throw합니다. DateTime 매개 변수를 null 허용 (예 : DateTime? date)으로 설정하면 HTTP를 통해 호출 할 수없는 것으로 보입니다.

+0

SOAP는 일반적으로 HTTP를 사용합니다. 원시 HTTP를 통해 호출하는 것을 허용하지 않을 수도 있습니다. –

답변

2

둘 중 어느 것도 null 값을 가질 수 없습니다. 그것들은 모두 값 유형이며 코드를 사용하여 그것을 시도한 경우에도 null로 설정할 수 없습니다. DateTime.MinValue과 0을 보내는 것이 좋습니다.

+0

또는 '0'대신 'int.MinValue'. – slugster

+0

@slugster - 네, 또 다른 좋은 선택입니다. 나는 MaxValue도 사용하는 것을 보았다. 초기화되지 않은 int의 기본값이기 때문에 0을 권장하지만 사용자의 제안도 유용합니다. –

+0

알아,하지만 그들은 nullable 수 있습니다. 따라서 매개 변수를 nullable로 만들면 더 이상 원시 HTTP POST를 통해 매개 변수를 호출 할 수 있습니까? –

관련 문제