powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как использовать ObjectDataSource
5 сообщений из 80, страница 4 из 4
Как использовать ObjectDataSource
    #33929711
Sacode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Mike Chaliy, Вы писали:

MC>Хотя есть еще. Тоесть если подгружаються другие собрки, то они будут подгружаться позжее.
MC>
MC>Type type1 = null;
MC>if (Util.TypeNameContainsAssembly(typeName))
MC>{
MC>       type1 = Type.GetType(typeName, throwOnError, ignoreCase);
MC>       if (type1 != null)
MC>       {
MC>            return type1;
MC>       }
MC>}
MC>

Это проверяется, указана ли сборка в названии класса, если указана, то ничего искать не надо, использовать механизм BuildManager'а не надо, а просто тупо загрузить сборку (если уже не загружена) и взять из нее тип (собственно это и делает Type.GetType(...)).
Пример названия класса с указанием сборки:

Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Здесь Microsoft.Web.Services3 — как раз сборка.
По-умолчанию дизайнер засовывает название класса в ODS без указания сборки, так что для ODS этот блок не работает.

MC>Ну и плюс зависимоти не подгружаються. Теститься просто. Создеться сборка. Референситься в сайт. Потом заускаеться без создания обьекта. Смотриться на отсутвие записей. Потом запускаеться с созданием обьекта. Смотриться на присутвие записей. Собтвенно я реально был уверен что точно также постоупают и с классам в Апп_Коде.

MC>
MC>//Class1 cc = new Class1();
MC>//cc.Aa = "asd";

MC>Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
MC>foreach (Assembly assembly in assemblies)
MC>{
MC>    Type t = assembly.GetType("TryDataSourceProject.Class1");

MC>    if (t != null)
MC>    {
MC>        this.Response.Write(t);
MC>        this.Response.Write("\r\n");
MC>        this.Response.Write(assembly);
MC>    }
MC>}
MC>

MC>Поправляйте если что не так.

Попробуй следующий код:

Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{
    Type t = assembly.GetType("TryDataSourceProject.Class1");

    if (t != null)
    {
        this.Response.Write(t);
        this.Response.Write("\r\n");
        this.Response.Write(assembly);
    }
}

Class1 cc = new Class1();
cc.Aa = "asd";

Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{
    Type t = assembly.GetType("TryDataSourceProject.Class1");

    if (t != null)
    {
        this.Response.Write(t);
        this.Response.Write("\r\n");
        this.Response.Write(assembly);
    }
}
И сравни что выводит первый цикл, и что выводит второй. Следуя твоему предположению в первом списке должна отсутствовать сборка с Class1.
Что-то мне подсказывает, что она там будет.... << RSDN@Home 1.1.4 stable rev. 510>>
...
Рейтинг: 0 / 0
Как использовать ObjectDataSource
    #33929722
Mike Chaliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Sacode, Вы писали:

S>Здравствуйте, Mike Chaliy, Вы писали:


S>Это проверяется, указана ли сборка в названии класса, если указана, то ничего искать не надо, использовать механизм BuildManager'а не надо, а просто тупо загрузить сборку (если уже не загружена) и взять из нее тип (собственно это и делает Type.GetType(...)).

Я в курсе что ОДС использует по умолчанию. Это уже не относиться к ОДС. Точнее используеться если дата обьект находиться в другой сборке.

Я имею ввиду што в этом случае сборка не будет предподгружена. Она будет подгружена только когда понядобиться. Это стандарная фитча. Ексепшен о том что сборка ненайдена выдаеться не при загрузке главной сборки. А только когда она понядобиться. Тоесть когда начнет выполняться класс в котором она используеться.

S>Попробуй следующий код:
S>И сравни что выводит первый цикл, и что выводит второй. Следуя твоему предположению в первом списке должна отсутствовать сборка с Class1.
S>Что-то мне подсказывает, что она там будет.

Обе естевенно выводят. На всякий пожарный я деже попробовал. Тока я не понимаю с каих это еще моих слов такое выходит. Я же уже говорил что если сборка прореференсена это не обозначает что она будет подгружена.
...
Рейтинг: 0 / 0
Как использовать ObjectDataSource
    #33929751
Sacode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Mike Chaliy, Вы писали:

MC>Здравствуйте, Sacode, Вы писали:

S>>Это проверяется, указана ли сборка в названии класса, если указана, то ничего искать не надо, использовать механизм BuildManager'а не надо, а просто тупо загрузить сборку (если уже не загружена) и взять из нее тип (собственно это и делает Type.GetType(...)).
MC>Я в курсе что ОДС использует по умолчанию. Это уже не относиться к ОДС. Точнее используеться если дата обьект находиться в другой сборке.

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

MC>Обе естевенно выводят. На всякий пожарный я деже попробовал. Тока я не понимаю с каих это еще моих слов такое выходит. Я же уже говорил что если сборка прореференсена это не обозначает что она будет подгружена.

А в какой момент она тогда грузится?... << RSDN@Home 1.1.4 stable rev. 510>>
...
Рейтинг: 0 / 0
Как использовать ObjectDataSource
    #33930091
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Sacode, Вы писали:

S>А в какой момент она тогда грузится?

Грубо говоря, когда понадобится. Я не вижу здесь проблем с производительностью, тем более что то,что оно будет доставать реально нужно для работы страницы.... << RSDN@Home 1.2.0 alpha rev. 0>>
...
Рейтинг: 0 / 0
Как использовать ObjectDataSource
    #33930094
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Mike Chaliy, Вы писали:

G>>Ветка показывает что вас не понимает как минимум два человека. :xz:

MC>В этом нет ничего сташного. Што вам што мне всерано. Жаль что никто не получил новой инфы.

Было бы все равно, я бы ничего не писал здесь. :xz:

MC>Ндя. Вы с HyperLink никогда не сталкивались? Ну или просто тегом a. Че вы там на типизируете?

В HyperLink вроде все типизировано. Тэги html напрямую стараюсь не использовать, предпочитаю серверные контролы.... << RSDN@Home 1.2.0 alpha rev. 0>>
...
Рейтинг: 0 / 0
5 сообщений из 80, страница 4 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как использовать ObjectDataSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]