我在Web应用程序中使用RazorEngine库(https://github.com/Antaris/RazorEngine/)来解析剃刀视图模板。
以下代码应解析模板。
try
{
var html = IoHelper.GetFileContent(template);
html = Razor.Parse<TModel>(html, model);
html = html.Replace("src=\"/", "src=\"" + Common.GetSiteUrl() + "/");
html = html.Replace("href=\"/", "href=\"" + Common.GetSiteUrl() + "/");
html = html.Replace("src='/", "src='" + Common.GetSiteUrl() + "/");
html = html.Replace("href='/", "href='" + Common.GetSiteUrl() + "/");
return html;
}
catch (Exception ex)
{
LogError("PdfReportService RenderPdfHtml() Failed!", ex);
return "";
}
它在本地工作正常,在Azure VPS上很好,但是当我部署为Azure Web应用程序时,它无法解析。我觉得它完全挂起,甚至没有进入捕获......(很难说,因为我无法在生产中调试)甚至尝试使用更新的RazorEngine版本和更新的解析技术,但也没有成功。
Azure网络应用程序中有什么区别可能导致解析失败...
(我到处都使用相同的数据库,所以传递给剃刀视图的模型并没有出错)