2016-03-24 7 views
0

私は、投稿リクエストから値を読み取ることができるmvcアプリケーションでメソッドを使用していました。それはこのようなものだった。C#でストリームオブジェクトから投稿データを読むには

[HttpPost] 
public ActionResult ResponseFromExternalParty(FormCollection form) 

と私は

var authCode = form["auth_code"]; 

として値を読み取ることができた今、私は、それゆえ私はFormCollectionオブジェクトを使用することはできません 、MVCアプリケーションではない別のアプリケーションで同じことを行う必要があります。私は、私は、このStreamオブジェクトからポストデータの読み方として、それのまわりで私の頭を取得することはできません私の新しい方法が

public void ResponseFromExternalParty(Stream form) 

のように見えるので、Streamオブジェクトを使用するように言われました。クエリ文字列のデータを読まなければならない場合は、何かを使用した可能性があります。

HttpUtility.ParseQueryString(); 

事前のおかげです。

+0

可能な重複:http://stackoverflow.com/questions/20151556/how-to-get-the-http-post-data-in-c – Ryan

+0

@Ryan重複のない、その質問は、具体的ですMVCのために。私の問題は異なります。 – ahsant

+0

WebFormsやWebApiを使用していますか?他のライブラリを介して 'Form'データを持つ' Request'オブジェクトにアクセスする必要があります。 – Ryan

答えて

0

この回答は、私のように混乱するような人にのみ適用されます。どうやらParseQueryString関数は投稿されたデータの本文を読むこともできます。私はParseQueryStringがクエリ文字列を解析してNameValueCollectionにすることしか考えていないので、少し混乱しています。したがって、Streamオブジェクトから投稿されたデータを読み取る方法は次のとおりです。

public void ResponseFromExternalParty(Stream form) { 
    var requestBody = new StreamReader(form).ReadToEnd(); 
    var nameValueCollection = HttpUtility.ParseQueryString(requestBody); 

    var authCode = nameValueCollection["auth_code"]; 
    } 
関連する問題