私は従来の WebForms アプリケーションを維持しており、ページの 1 つは GET 要求を処理するだけで、多くのクエリ文字列パラメーターを操作します。この作業はコード ビハインドで行われ、この種のチェックとキャストの多くが行われます。
protected override void OnLoad(EventArgs e)
{
string error = string.Empty;
string stringParam = Request.Params["stringParam"];
if (!String.IsNullOrEmpty(stringParam))
{
error = "No parameter";
goto LoadError;
}
Guid? someId = null;
try
{
someId = new Guid(Request.Params["guidParam"]);
}
catch (Exception){}
if (!someId.HasValue)
{
error = "No valid id";
goto LoadError;
}
// parameter checks continue on
LoadError:
log.ErrorFormat("Error loading page: {0}", error);
// display error page
}
この解析と検証をカプセル化し、コード ビハインドから移動する、テスト可能なクラスを作成したいと思います。これおよび/または例に対するいくつかのアプローチを推奨できる人はいますか?