Generics и поставщик членства ASP.Net - PullRequest
4 голосов
/ 05 декабря 2008

Я пытаюсь использовать общий список в качестве свойства профиля пользователя. Я признаю, что это, вероятно, просто делает мою жизнь сложнее, чем нужно, но я не хочу менять модель программирования только из-за проблем с хранилищем данных.

У меня есть это в моем web.config

        </providers>
        <properties>
            .....
            <add name="AListProperty" type="System.Collections.Generic.List`1[[System.Int32]]"/>
            <add name="AnotherListProperty" type="System.Collections.Generic.List`1[[MyNamespace.Web.UI.MyReallySimpleClass]]">
                        </properties>
    </profile>

Первое свойство "AListProperty" работает нормально. Второй бросает множество исключений в зависимости от того, как я делаю это в web.config. MyReallySimpleClass является открытым, сериализуемым и состоит из 2 открытых полей (в настоящее время)

Итак, мои вопросы 1. Кто-нибудь знает, где задокументирован формат объявления этих типов в файле web.config. 2. Что я делаю не так? Выглядит хорошо, я не вижу никакой семантической разницы между этими двумя объявлениями.

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 декабря 2008

Попробуйте указать сборку YourReallySimpleClass:

...type="System.Collections.Generic.List`1[[MyNamespace.Web.UI.MyReallySimpleClass, MyAssemblyName]]"
3 голосов
/ 05 декабря 2008

Было бы полезно, если бы вы также предоставили некоторые сведения о типах исключений и сообщениях, которые вы испытываете. В противном случае я думаю, что вам может понадобиться квалифицировать MyNamespace.Web.UI.MyReallySimpleClass для сборки, в которой находится тип, как в MyNamespace.Web.UI.MyReallySimpleClass, MyAssembly. Квалификация сборки не требуется, если тип не находится в mscorlib, как System.Int32, в App_Code или в одной из сборок, перечисленных в разделе system.web/compilation/assemblies конфигурации.

  1. Кто-нибудь знает, где формат объявления этих типов в web.config задокументирован.

См. Указание полных имен типов в MSDN.

...