我在Umbraco CMS上编写C#,然后Microsoft Visual Studio检测到我应该处理堆栈溢出错误
var umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current);
Image = umbracoHelper.Media(imageId).GetCropUrl("umbracoFile", "image");
我如何处理这个问题? 您可以在此链接上看到完整代码。 https://drive.google.com/open?id=0B6cMfQEoDEfwdnczSDRJakJIMzA
Umbraco版本7.2.8
工具:Microsoft Visual Studio 2013
答案 0 :(得分:2)
我没有必要的声誉能够评论你的原始问题,因此这个"回答" - 所以我提前道歉。
您的代码示例中没有任何内容可以使StackOverflowException
围绕您指示的行,因此您需要更深入地了解。您可能会在GetCropUrl()扩展方法上获得NullReferenceException,但是您没有经过测试以确保meda项返回有效对象。
所以其他人都不必下载它 - 这是你的代码片段(减去使用/命名空间):
public class Case
{
public Case(IPublishedContent content)
{
Id = content.Id;
Description = content.GetPropertyValue<string>("description");
Title = content.GetPropertyValue<string>("title");
//image
string image = content.GetPropertyValue<string>("image");
int imageId = 0;
int.TryParse(image, out imageId);
if (imageId != 0)
{
var umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current);
Image = umbracoHelper.Media(imageId).GetCropUrl("umbracoFile", "image");
}
//Team
string teamID = content.GetPropertyValue<string>("teamMember");
Team = DAL.GetTeamProperties(teamID);
}
public Case() { }
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Image { get; set; }
public List<Team> Team { get; set; }
}
您的问题更可能出现在此处,而不是提取图片网址的代码:
Team = DAL.GetTeamProperties(teamID);
但是需要更多信息 - 你能发布异常的实际堆栈跟踪吗?