我正在维护一个旧版 WebForms 应用程序,其中一个页面只提供 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
}
我想创建一个可测试的类来封装这个解析和验证并将其移出代码隐藏。任何人都可以推荐一些方法和/或示例吗?