Це насправді питання з двох частин. По-перше, чи відповідає 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.
Я вирішив проблему, вимагаючи, щоб елемент керування передавав посилання на себе, і перевіряв властивість Page елемента керування, але мені все ще цікаво, чому вищезазначене не працює.
Помилка компілятора: Неможливо перетворити System.Web.HttpContext у ... IWebBase за допомогою еталонного перетворення, перетворення боксу, перетворення розпакування, перетворення обтікання або перетворення нульового типу.