powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / про IIS, .NET и ActiveX
14 сообщений из 14, страница 1 из 1
про IIS, .NET и ActiveX
    #33920524
shurik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надеюсь в тот форум попал...

вобщем суть такая.
у меня есть IIS, .NET контрол и страничка в которой этот контрол используется примерно так (в html-ле не силён, пишу как помню 8) )

<object ctrl="control.dll#ctrl.ctrl" .. что-то типа этого

и используется

<script>
 ctrl.method
</scrip>

контрол лежит рядом со страничкой
соответсвуенно когда я захожу на http://localhost/mypage.html вижу мессажбокс моего метода.
также, как я понимаю, если на страничку зайдут с другого компа, на котором моего контрола нет, то всё-равно увидят-таки мой славный мессаджбокс? я правильно понимаю? если да, должен ли у них стоять .net framework (моя версия — должен)?

ну сам вопрос — можно ли сделать тоже самое с ActiveX (т.е. положить ActiveX в wwwroot на страничке сделать на него ссылку и чтоб у клиента всё работало, хотя этот ActiveX у него не установлен)?
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33920543
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S>ну сам вопрос — можно ли сделать тоже самое с ActiveX (т.е. положить ActiveX в wwwroot на страничке сделать на него ссылку и чтоб у клиента всё работало, хотя этот ActiveX у него не установлен)?
Бр-р-р-р. Намешал все в кучу. Тег Object не относится к ASP.NET — это тег HTML'я. И выполняется он на клиенте. Поэтому ответ на твой вопрос — надо зарегистрировать контрол на клиенте. Как ты это сделаешь? Через установку CAB-файла, или через прямую установку на клиенте — это уже другой вопрос. Просто так твой код работать просто не будет.
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33920573
shurik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Бр-р-р-р. Намешал все в кучу. Тег Object не относится к ASP.NET — это тег HTML'я. И выполняется он на клиенте. Поэтому ответ на твой вопрос — надо зарегистрировать контрол на клиенте. Как ты это сделаешь? Через установку CAB-файла, или через прямую установку на клиенте — это уже другой вопрос. Просто так твой код работать просто не будет.

с этим понял, спасибо!

а про первую часть можно пояснить?
как это работает в случае с .NET контролом?
т.е. он д.б. на клиенте
а клиент его сам должен закачать или это(закачка) как-то само-собой происходит...? 8)
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33920739
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S>а про первую часть можно пояснить?
S>как это работает в случае с .NET контролом?
S>т.е. он д.б. на клиенте
S>а клиент его сам должен закачать или это(закачка) как-то само-собой происходит...? 8)
CAB файлы, в принципе, можно закачать и установить, но это разрешено только для Trusted сайтов. Для .Net придется скачивать и устанавливать весь .Net — что накладно достаточно. Не понимаю я — зачем тебе это надо? Сделай нормальный серверный ASP.NET контрол и не парься.
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33920768
mclabman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shurik - все несколько иначе.
Nikolay_Ch, видимо не в курсе.

Используя .Net компоненты с тэгом <object> достаточно положить сборку там же, где и страница. Никакой установки не будет, компонент будет сохренен во временной папке. Но если компонент попытается обратиться к локальному ресурсу, то будет ошибка. Т.е надо настроить права через .Net configuration. FW на клиенте должен быть установлен.

Используя традиционный COM компонент, требуется указать codebase и при первом обращении клиенту будет предложено установить компонент. CAB файл делать не обязательно. После этого проблем с правами доступа к локальным ресурсам нет, но есть проблема с обновлением версий.
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33920887
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
M>Используя .Net компоненты с тэгом <object> достаточно положить сборку там же, где и страница. Никакой установки не будет, компонент будет сохренен во временной папке. Но если компонент попытается обратиться к локальному ресурсу, то будет ошибка. Т.е надо настроить права через .Net configuration. FW на клиенте должен быть установлен.
Я вообще-то говорил не про это. Для использования .Net сборки все-равно потребуется установка .Net Framework...

M>Используя традиционный COM компонент, требуется указать codebase и при первом обращении клиенту будет предложено установить компонент. CAB файл делать не обязательно. После этого проблем с правами доступа к локальным ресурсам нет, но есть проблема с обновлением версий.
В CAB-е можно сделать грамотную инсталляцию (с версионностью и автообновлением).
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33920890
Den!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mclabman
...
Используя традиционный COM компонент, требуется указать codebase и при первом обращении клиенту будет предложено установить компонент. CAB файл делать не обязательно. После этого проблем с правами доступа к локальным ресурсам нет, но есть проблема с обновлением версий.

Код: plaintext
1.
CODEBASE="http://www.mysite.com/AXControl.ocx#2,0,0,0"

Если версия AXControl.ocx меньше чем 2.0.0.0, то браузер возьмет его с mysite.com и установит. Вроде так... или нет?
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33921239
mclabman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если версия AXControl.ocx меньше чем 2.0.0.0, то браузер возьмет его с mysite.com и установит. Вроде так... или нет?

Я тоже так думал... Но я не подозревал, что все так просто, особенно с наследованием в COM. А особо продвинутый броузер проверит, что на клиенте присутствуют все используемые в компоненте библиотеки. :\
К тому же, есть шаловливые ручки пользователя.

В CAB-е можно сделать грамотную инсталляцию (с версионностью и автообновлением).

Согласен, можно. Руками? А используя .Net компонент можно этого не делать.
 
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #33921322
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
M>Согласен, можно. Руками? А используя .Net компонент можно этого не делать.
Да, но только при этом надо устанавливать .Net Framework... Что не всегда удобно.
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #34079061
as111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

А как дать права этому компоненту на локальной машине?
При запуске что-то там ругается что не хватает прав, а где и как их добавить?
Или надо зарегистрировать этот компонент на локальной машине?


Надо дать полные права этому компоненту на локальный диск компьютера... или на какую-нибудь папку...
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #34081275
mclabman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панель управления / Администрирование / Microsoft .Net Framework 2.0 Configuration / Runtime security policy - это для W2k3.
Для XP несколько сложнее - оснастка консоли в комплект не входит. Либо установить SDK, либо с помощью оснастки на W2k3 создать msi, либо руками с помощью утилиты управления безопасностью (забыл как звать). Есть и другие варианты, включая, notepad.
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #34082077
as111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!

Покопался что-то пока не получается...
Будем читать дальше...

Может есть ссылки гда написано подробнее?
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #34082079
as111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо сделать именно на XP.
Причем на очень большом количестве машин. Так что было бы здорово, если этот процес можно было бы как-то автоматизировать...
...
Рейтинг: 0 / 0
про IIS, .NET и ActiveX
    #34084120
algol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, as111, Вы писали:

A>Надо сделать именно на XP.
A>Причем на очень большом количестве машин. Так что было бы здорово, если этот процес можно было бы как-то автоматизировать...

Я у себя такую проблему решил следующим образом — .NET контрол положил на страницу не как .NET, а как обычный ActiveX контрол. При этом проблем с правами не возникает.
Подробнее — ставите в .NET проекте флажки Register for COM interop, реализуете в контроле интерфейс IObjectSafety, делаете для него Setup Project. Получившийся .msi упаковываете в .cab вместе с .inf файлом примерно такого содержания:


[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec /i %EXTRACT_DIR%\MyControlSetup.msi

[Version]
; This section is required for compatibility on both Windows 95 and Windows NT.
Signature="$CHICAGO$"
AdvancedInf=2.0

На HTML странице у тега object указываете атрибуты clsid и codebase аналогично обычному ActiveX.
Наверное можно обойтись и без .msi и прописать всю инсталляцию в .inf файле, но я не стал с этим заморачиваться.

Правда, этому варианту присущи другие проблемы — .cab файл должен быть подписан цифровым сертификатом, либо в настройках security пользователей должна быть разрешена установка неподписанных контролов, либо сайт включен в список trusted sites.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / про IIS, .NET и ActiveX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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