Создание общедоступных свойств в изолированных решениях веб-частей
-
09-12-2019 - |
Вопрос
Я пытаюсь перенести решение фермы в изолированную программную среду и не могу понять, как перенести этот фрагмент кода:
[ToolboxItem(false)]
public partial class vClockPartSB : System.Web.UI.WebControls.WebParts.WebPart
{
[Personalizable(PersonalizationScope.User)]
public Collection<String> ClockTimeZones { get; set; }
[Personalizable(PersonalizationScope.User)]
public int NumberOfClocks { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlMain { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubOne { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubTwo { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubThree { get; set; }
[Personalizable(PersonalizationScope.User)]
public string DdlSubFour { get; set; }
protected override void OnInit(EventArgs e)
{
ClockTimeZones = new Collection<string>();
base.OnInit(e);
InitializeControl();
}
Я получаю следующую ошибку:
Ошибка веб-части:Незаглавленное исключение было брошено методом выполнения обертки кодовой оболочки в песочнице в домене приложения частичного доверия:Свойство веб -детали «clocktimezones» использует неподдерживаемый тип (system.collections.objectmodel.collection`1 [[system.string, mscorlib, версия = 2,0.0.0, культура = нейтральная, publickeytoken = b77a5c561934e089]], и не может быть запущен как Веб -панель песочница.
Как мне к этому подойти?
Решение
Я был бы соблазнен просто хранить строку - вместо того, чтобы собрать Строки - и выполнять собственную сериализацию / десериализацию.Вероятно, используя функцию string.split () и подходящий разделитель.
Другие советы
А System.Collections.ObjectModel
пространство имен не разрешено в песочнице.
Для вашего сценария не могли бы вы использовать Список<строка> вместо?
Видимо, только следующие типы поддерживаются как свойства веб-части в растворе Sandbox:
- .
- string
- bool
- enum
- короткая
- int
- guid
- rig
- байт
- char
- длинный
- float
- Десятичная линия
- Двойной
Вот ссылка на Alan Dahl's Статья блога где блог Alan Dahls и поискал.