Если вы согласны только с IE, мне нравится модель безопасности размещенного в IE элемента управления по сравнению с Active-X, однако с 01.01.09 Microsoft не одобряет использование .NET (в процессе) для расширения IE, поэтому XBAP в порядке, но не в элементах управления ActiveX и не в элементах управления IE.
Обновление 7/13: Microsoft опубликовала руководство по внедрению расширений в процессе ; это все еще устарело.
Редактировать: Без настройки реестра IE8 будет загружать только размещенный элемент управления .NET из интрасети или доверенной зоны, поэтому для общего использования Интернета требуется Active-X для полного доверия в браузере.
Следить за сообщением Русса: Silverlight не может получить доступ к буферу обмена: http://silverlight.net/forums/t/13024.aspx
Большая часть размещенной в IE управляющей информации находится в блогах, поэтому я использую: http://www.google.com/search?q=ie+hosted+control+site:msdn.com, чтобы найти их. Ниже приведены те, которые я нашел особенно полезными.
Быстрое и простое управление: http://blogs.msdn.com/mikechr/archive/2006/11/28/writing-a-simple-managed-control-under-ie.aspx
Странная вещь в отношении безопасности, если «доказательством» не является URL, сборка может быть доверенной, но не домену, требующей исправлений утверждений: http://blogs.msdn.com/carloc/archive/2006/11/01/code-access-security-hosting-control-in-ie.aspx
Это исправлено в 3.5 с манифестами. Сложно понять это правильно, поэтому ознакомьтесь с инструкциями по использованию манифестов из блога Shawnfa .NET Security для .NET 3.5 Beta и post GA .NET 3.5 . Блог Тодда о случайном обнаружении также описывает шаги для создания манифеста для размещенного элемента управления
Я нашел это полезным в статье базы знаний по настройке безопасности, но вам все равно придется немного узнать о CAS: http://support.microsoft.com/kb/892466. Это, вероятно, главное соображение при решении использовать ((. net) Active-X против размещенного в IE элемента управления - то есть какая модель безопасности работает лучше всего для вас и ваших пользователей. Я надеюсь, что использование манифеста заставит размещенные в IE элементы управления работать как щелчок один раз, когда пользователя просят «доверять», и система создает правильные настройки. Для моей компании, которую мы использовали, можно было автоматизировать настройку безопасности для пользователя, поэтому нашим выбором был ie hosted.
Единственное, о чем я никогда не догадывался, было то, что мне пришлось или не нужно было наследовать от элемента управления (пользователя) для элемента управления без пользовательского интерфейса. Для меня это работало лучше, но мне пришлось «спрятать» div, в котором жил тег объекта.
Легко отлаживать элемент управления, если вы компилируете для отладки и подключаетесь к IE для «управляемой» отладки, как только загрузите элемент управления. Если вам не удается загрузить элемент управления, посмотрите информацию в средстве просмотра привязки сборки fusion: http://msdn.microsoft.com/en-us/library/e74a18c4.aspx и как включить трассировку IEHost: http://support.microsoft.com/kb/313892, чтобы отладить процесс загрузки.
Обязательно версируйте каждую версию сборки. Если вы этого не сделаете, то IE запутается и не будет загружать элемент управления, если сборка в кэше загрузки отличается, но имеет ту же версию #, что и ссылка, на которую ссылается URL (gacutil / cdl очищает кэш загрузки .net)