我使用以下代码呈现页面并将输出存储在缓存中。这样在下一个请求中页面来自缓存(以减少处理时间)
HelperResult renderPageResult = null;
try
{
if (objCache.Get(new CacheService().GetKey(cacheKey, _userContext)) == null)
{
renderPageResult = RenderPage(path, data);
objCache.Add(new CacheService().GetKey(cacheKey, _userContext), renderPageResult);
}
else
{
renderPageResult = objCache.Get<HelperResult>(new CacheService().GetKey(cacheKey, _userContext));
}
return renderPageResult;
}
catch(Exception ex)
将对象转换回HelperResult时,我无法获取HTML字符串,并且在UI上获得以下异常
价值不在预期范围内。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.ArgumentException:值不在预期范围内。
答案 0 :(得分:0)
使用以下代码解决
return new HelperResult
(
writer =>
{
writer.Write(renderPageContent);
}
);