2011-01-07 2 views
1

私はC#を使用してサーバから返されたHttpResponseを修正しています。関連するステータスがすべての列挙型が見つかりましたが、HttpResponse.StatusDescriptionプロパティを設定するための文字列定数を保持する付随するクラスを見つけるのに問題があります。.NETには、HttpResponse.StatusDescriptionを設定するための定数クラスがありますか?

それは単に存在しない場合ですか?または、説明が効果的にフリーテキストである場合は、比較的記述的なものを設定する限り、あなたは大丈夫でしょうか?助けを事前に

おかげで、 ニック

答えて

2

あなたがいる限り、文字列が(IIRCこれは512の文字です)HTTPで許容される最大な長さを超えないよう、StatusDescriptionに好きなテキストを挿入し、主に無料です。

例として、500エラー(内部サーバーエラー)を設定する場合は、発生したエラーに関する追加情報を呼び出し者が取得できるようにするための説明を追加できます。

「OK」にStatusDescriptionプロパティのデフォルト

少しより多くの情報はここで見つけることができます:

http://msdn.microsoft.com/en-us/library/system.web.httpresponse.statusdescription.aspx

ほとんどの実装では、ステータスの説明の値ではないことも言及する価値があります中古。ほとんどのサービス呼び出し者は、実際のステータスコードを使用して、成功、失敗またはその他の条件を判断します(リダイレクト、見つからないなど)

+0

'あなたはどんなテキストを挿入することも自由です。 HTTPアプリケーションが "200 Happy Birthday"のステータスを返し、それでもRFC2616に準拠することはできますか? – Cheeso

+0

RFCは、特定のガイダンスを提供していませんが、6.1.1項と10項を参照してください。 – MrEyes

+3

ありがとうございました。私は "Happy Birthday"のW3Cにデフォルト値:-)を申請します – WickyNilliams

4

あなただけ列挙の文字列値を取得するためにHttpStatusCode.*MEMBER*.ToString()を使用することができます。

例:HttpStatusCode.OK.ToString()

+0

良い点。それは記述としてラクダの大文字小文字の文字列を持つことはあまりユーザーフレンドリーではないかもしれませんが、HTTPヘッダーは決して念頭に置いてユーザフレンドリーに設計されていなかったと思います! – WickyNilliams

+0

@WickyNilliamsそれから、単純に '.ToLower()'や '.ToUpper()'を追加してください。 – mbomb007

関連する問題