Это вопрос двух частей. Во-первых, соответствует ли HttpContext.Current текущему объекту System.UI.Page?
И второй вопрос, который, вероятно, связан с первым, заключается в том, почему я не могу использовать следующее, чтобы увидеть, реализует ли текущая страница интерфейс:
private IWebBase FindWebBase()
{
if (HttpContext.Current as IWebBase != null)
{
return (IWebBase)HttpContext.Current.;
}
throw new NotImplementedException("Crawling for IWebBase not implemented yet");
}
Общий контекст: некоторые элементы управления должны знать, выполняются ли они как веб-узел SharePoint или как часть структуры Asp.Net.
Я решил проблему, потребовав, чтобы элемент управления передал ссылку на себя и проверил свойство страницы элемента управления, но мне все еще интересно, почему это не работает.
Ошибка компилятора: Невозможно преобразовать System.Web.HttpContext в... IWebBase через ссылочное преобразование, преобразование бокса, преобразование распаковки, конвертирование конверсий или преобразование нулевого типа.