우리의 C# .net 소프트웨어는 계정과 상점을 다루는 온라인 앱에 연결됩니다. 이것은 HttpWebRequest
및 HttpWebResponse
을 사용하여 수행합니다. 제목에 예외가에서 온왜 System.FormatException가 발생합니까? 고객의 일부 컴퓨터에서 문자열이 유효한 부울로 인식되지 않았습니까?
이 상호 작용의 예를 들어, 하나 개의 영역은 다음과 같습니다
var request = HttpWebRequest.Create(onlineApp + string.Format("isvalid.ashx?username={0}&password={1}", HttpUtility.UrlEncode(username), HttpUtility.UrlEncode(password))) as HttpWebRequest;
request.Method = "GET";
using (var response = request.GetResponse() as HttpWebResponse)
using (var ms = new MemoryStream())
{
var responseStream = response.GetResponseStream();
byte[] buffer = new byte[4096];
int read;
do
{
read = responseStream.Read(buffer, 0, buffer.Length);
ms.Write(buffer, 0, read);
} while (read > 0);
ms.Position = 0;
return Convert.ToBoolean(Encoding.ASCII.GetString(ms.ToArray()));
}
온라인 응용 프로그램은 응답 중 하나를 'true'또는 'false'. 우리의 모든 테스트에서 이러한 값 중 하나를 얻지 만, 두 고객 (수백 개 중)에 대해서는 예외가 발생합니다. System.FormatException: String was not recognized as a valid Boolean
응답이 무언가에 의해 왜곡되고있는 것처럼 들립니다. 웹 브라우저에서 온라인 앱으로 이동하도록 요청하면 올바른 응답을 볼 수 있습니다. 클라이언트는 일반적으로 프록시 네트워크를 통해 상당히 제한적이며 종종 프록시 서버 아래에 있지만 대개 프록시 세부 정보를 입력하거나 방화벽 예외를 추가하면 잘 처리됩니다. 서버에서 응답을 엉망으로 만들 수있는 것이 있습니까? 아니면 코드에 문제가 있습니까?
이 경우 응답 헤더가 무엇인지 보여줄 수 있습니까? – feroze