Ссылка на объект не установлена на экземпляр объекта
public HMIPGraphModel GetHMIPGraph(string currentIp, string dataSource, string geoId, string geoName) { var hmipGraphModel = new HMIPGraphModel(); string baseUrl = CMHCConstants.HmiBaseUrl; hmipGraphModel.Geographies = new List<Geography_Region___City>(); var scContext = new SitecoreContext(); var reportTypeItem = scContext.GetItem<HMIReports>(dataSource); if (reportTypeItem == null) { Sitecore.Diagnostics.Log.Error($"[GetHMIPGraph] : Data source item {dataSource} not found", this); return null; } string reportType1 = reportTypeItem.Report1; string reportType2 = reportTypeItem.Report2; var geographyFolder = Sitecore.Context.Database.GetItem(HCConstants.HMIGeographyFolderPath); IEnumerable<Item> geoGraphyItems = new List<Item>(); IEnumerable<Item> cityList = new List<Item>(); if (geographyFolder != null) { geoGraphyItems = contentSearchAPI.GetIndexForRootItem(geographyFolder, IGeography_Region___CityConstants.TemplateId); if (geoGraphyItems != null) { cityList = geoGraphyItems.Where(x => x != null && x.Fields["GeoID"] != null && !string.IsNullOrEmpty(x.Fields["GeoID"].Value)); } else { Sitecore.Diagnostics.Log.Info("HCWebHelper -> GetHMIPGraph - No Geography Items(s) found from Index", this); } } var geoIPInfo = LookupManager.GetInformationByIp(currentIp); var currentCity = geoIPInfo?.City; var currentGeographyId = string.Empty; if (geoId != null && geoName != null) { currentCity = geoName; currentGeographyId = geoId; } else if (currentCity == "N/A") { currentCity = "Delhi"; currentGeographyId = "2070"; } else { currentGeographyId = cityList.Where(x => x.Fields["GeoName"].Value == currentCity).Select(x => x.Fields["GeoID"].Value).FirstOrDefault(); if (currentGeographyId == null) { currentCity = "Delhi"; currentGeographyId = "2070"; } } if (cityList != null && cityList.Any()) { foreach (var city in cityList) { var geo = scContext.GetItem<Geography_Region___City>(Guid.Parse(city.ID.ToString())); if (geo != null) hmipGraphModel.Geographies.Add(geo); } } hmipGraphModel.Geographies.Sort((x, y) => x.GeoName.CompareTo(y.GeoName)); hmipGraphModel.CurrentGeographInfo = new Geography { GeoID = currentGeographyId, GeoName = currentCity }; var reportUrl1 = string.Format("/{0}/Dashboard/{1}?geographyId={2}&t=3&geoName={3}", Sitecore.Context.Language.ToString().ToLower(), reportType1, hmipGraphModel.CurrentGeographInfo.GeoID, hmipGraphModel.CurrentGeographInfo.GeoName); var reportUrl2 = string.Format("/{0}/Dashboard/{1}?geographyId={2}&t=3&geoName={3}", Sitecore.Context.Language.ToString().ToLower(), reportType2, hmipGraphModel.CurrentGeographInfo.GeoID, hmipGraphModel.CurrentGeographInfo.GeoName); hmipGraphModel.ReportHtmlContent1 = CallHmiApi(reportUrl1, baseUrl).Result.Replace("/hmip-pimh", baseUrl); hmipGraphModel.ReportHtmlContent2 = CallHmiApi(reportUrl2, baseUrl).Result.Replace("/hmip-pimh", baseUrl); return hmipGraphModel; }
Что я уже пробовал:
Я попробовал код, как показано на рисунке, но я получаю ошибку:
Object reference not set to an instance of an object
Sandeep Mewara
На какой линии?
@ksh@y
Номер строки не упоминается в журналах
@ksh@y
пропустил ли я какую-нибудь инициализацию или нулевую проверку?
Sandeep Mewara
Похоже, что так оно и есть. Просто отладьте, и Visual Studio точно скажет вам, какая строка вызывает эту ошибку.
Garth J Lancaster
Возможно, вы захотите выделить строку, где вы получаете эту ошибку - use Улучшить вопрос