XML ペイロードを運ぶ受信プッシュ通知を処理する C# で記述されたスタンドアロン ハンドラー ( .ASHX
) があります。次に、これらの XML を解析し、それらから取得した必要な情報を抽出して処理します。問題は、開発環境のファイアウォールが厳しすぎて、着信通知の例外を許可できないため、これをローカルでテストできないことです。
テスト環境でこれをテストしたところ、通知は正しく受信され、処理されていますが、ランダムなコード レビューの後、私の処理方法に問題があるように見えresponseStreams
ますstreamReaders
。
私の質問は、これはこれらのリソースの閉鎖を処理する有効な方法ですか、それとも潜在的に問題を引き起こす可能性がありNullReferenceException
ますか?
これらのリソースを処理するための標準的な方法は何ですか?using
ステートメントを使用して、そのスコープでのみ使用する必要がありますか?それとも、このコードで十分ですか?
Stream responseStream = null;
StreamReader reader = null;
string serverResponse = null;
try
{
responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);
serverResponse = reader.ReadToEnd();
}
finally
{
if (reader == null)
{
reader.Close();
}
if (responseStream == null)
{
responseStream.Close();
}
response.Close();
}