koudenpaのブログ

趣味のブログです。職業柄IT関連の記事が多いと思います。

MediaTypeHeaderValue のコンストラクタにパラメータ付きの値を渡すと死ぬ

MediaTypeHeaderValue.Parse すると良さそうだった。

.NET の System.Net.Http の話です。

// NG
request.Content.Headers.ContentType 
  = new MediaTypeHeaderValue(string.Format("audio/wav; samplerate={0}", samplerate));

// OK
request.Content.Headers.ContentType 
  = MediaTypeHeaderValue.Parse(string.Format("audio/wav; samplerate={0}", samplerate));

// または
var mediaType = new MediaTypeHeaderValue(string.Format("audio/wav"));
mediaType.Parameters.Add(new NameValueHeaderValue("samplerate", samplerate.ToString()));
request.Content.Headers.ContentType = mediaType;

mono/MediaTypeHeaderValue.cs at master · mono/mono · GitHub