C#에서 httpwebrequest와 webrequest 클래스를 사용할 때, set 메서드든 add 메서드를 사용하든, 예를 들어 헤더에 host 속성을 설정하는 등 HTTP 요청의 헤더를 설정하려고 할 때:
오류가 발생할 것입니다: "이 헤더는 적절한 속성이나 메서드로 수정되어야 합니다."
// 요약: 호스트 헤더 값을 HTTP 요청 URI와 독립적으로 사용하도록 설정하세요. // 결과 반환: HTTP 요청에서 호스트 헤더 값. // 이상 현상: System.ArgumentNullException: 호스트 헤더는 null로 설정할 수 없습니다. // System.ArgumentException: 호스트 헤더는 유효하지 않은 값으로 설정할 수 없습니다. // System.InvalidOperationException: System.Net.HttpWebRequests 전송을 시작한 후에는 호스트 헤더를 설정할 수 없습니다. public string Host { get; 세트; }
이유: C#은 set and add 메서드를 사용해 헤더를 설정할 수 없습니다 C#은 이미 이 헤더를 수정하고 설정할 때 사용할 수 있는 전용 속성을 제공합니다. 헤더 이름과 해당 속성은 다음과 같이 설정됩니다: | 헤더 | 설치 | | 수락하세요 | 재산을 수락하세요. | | 연결 | Connection 속성과 KeepAlive 속성에 의해 설정됩니다. | | 내용 길이 | ContentLength 속성에 의해 설정됩니다. | | 내용 유형 | ContentType 속성에 대해 설정하세요. | | 기대하세요 | Expect 속성에 의해 설정됩니다. | | 날짜 | Date 속성에 의해 설정됩니다. | | 진행자 | 호스트 재산. | | 만약 수정-이후(if-modified-since | IfModifiedSince 속성으로 설정됩니다. | | 레인지 | AddRange 메서드로 설정됩니다. | | 리퍼러 | Referer 속성에 의해 설정됩니다. | | 전송 인코딩 | TransferEncoding 속성에 의해 설정됩니다(SendChunked 속성은 참이어야 합니다). | | 사용자 에이전트 | UserAgent 속성입니다. |
|