Używając httpwebrequest i klasy webrequest w C#, jeśli próbujesz ustawić nagłówek zapytania http, niezależnie od tego, czy używasz metody set, czy metody dodaj, na przykład ustawiając właściwość hosta w nagłówku:
błąd will: "Ten nagłówek musi zostać zmodyfikowany odpowiednim atrybutem lub metodą".
// Streszczenie: Pobierz lub ustaw wartość nagłówka Host, aby była używana niezależnie od URI żądania w zapytanie HTTP. // Wyniki zwrotów: Wartość nagłówka hosta w żądaniach HTTP. // Anomalia: System.ArgumentNullException: Nagłówki hostów nie mogą być ustawione na null. // System.ArgumentException: Nagłówki hosta nie mogą być ustawione na nieprawidłowe wartości. // System.InvalidOperationException: Nagłówków hosta nie można ustawić po rozpoczęciu wysyłania System.Net.HttpWebRequests. publiczny ciąg Host { get; set; }
Powód: C# nie pozwala używać zestawu i dodawać metod do ustawiania takich nagłówków C# już zapewnia dedykowany atrybut dla takiego nagłówka, którego możesz użyć podczas modyfikowania i ustawiania tego nagłówka. Nazwa nagłówka i odpowiadające im atrybuty są ustawione następująco: | Nagłówek | Przygotowanie | | Akceptuj | Przyjmuj własność. | | Połączenie | Ustaw się przez własność Connection i KeepAlive. | | Długość treści | Ustaw własność ContentLength. | | Typ treści | Ustaw przez własność ContentType. | | Spodziewaj się | Ustaw przez własność Expect. | | Data | Ustaw przez właściwość Date. | | Prowadzący | Własność gospodarza. | | Jeśli-zmodyfikowany-od | Ustaw przez własność IfModifiedSince (IfModifiedSince ). | | zakres | Ustaw metodą AddRange. | | Referent | Ustalane przez własność Referer. | | Kodowanie transferowe | Ustaw przez właściwość TransferEncoding (właściwość SendChunked musi być prawdziwa). | | User-Agent | Własność UserAgent. |
|