Windows presentation foundation wpf plug in for mozilla browsers
Добро пожаловать в руководство по классическим приложениям для Windows Presentation Foundation (WPF), платформы пользовательского интерфейса для создания клиентских приложений для настольных систем под управлением Windows. Welcome to the Desktop Guide for Windows Presentation Foundation (WPF), a UI framework that creates desktop client applications for Windows. Платформа разработки WPF поддерживает широкий набор компонентов для разработки приложений, включая модель приложения, элементы управления, графику и привязку данных. The WPF development platform supports a broad set of application development features, including an application model, controls, graphics, and data binding. WPF использует расширяемый язык разметки для приложений (XAML), чтобы предоставить декларативную модель для программирования приложений. WPF uses Extensible Application Markup Language (XAML) to provide a declarative model for application programming.
Существует две реализации WPF: There are two implementations of WPF:
XAML XAML
XAML — это декларативный язык на основе XML, который используется на платформе WPF для определения ресурсов или элементов пользовательского интерфейса, а также решения других задач. XAML is a declarative XML-based language that WPF uses for things such as defining resources or UI elements. Определяемые в XAML элементы представляют создание экземпляров объектов из сборки. Elements defined in XAML represent the instantiation of objects from an assembly. В этом заключается отличие XAML от большинства других языков разметки, которые представляют собой интерпретируемые во время выполнения языки без прямой связи с резервной системой типов. XAML is unlike most other markup languages, which are interpreted at runtime without a direct tie to a backing type system.
В следующем примере показано, как можно создать кнопку как часть пользовательского интерфейса. The following example shows how you would create a button as part of a UI. На этом примере демонстрируется принцип представления объекта в XAML. Здесь Button — это тип, а Content — свойство. This example is intended to give you an idea of how XAML represents an object, where Button is the type and Content is a property.
Расширения XAML XAML extensions
XAML поддерживает синтаксис для расширений разметки. XAML provides syntax for markup extensions. Расширения разметки можно использовать для предоставления значений свойств в форме атрибутов, элементов свойств или обоими способами. Markup extensions can be used to provide values for properties in attribute form, property-element form, or both.
В WPF поддерживаются разные расширения разметки для XAML, например
Дополнительные сведения см. в разделе Расширения разметки и XAML WPF. For more information, see Markup Extensions and WPF XAML.
Система свойств Property system
WPF предоставляет набор служб, которые можно использовать для расширения функциональных возможностей свойства типа. WPF provides a set of services that can be used to extend the functionality of a type’s property. В совокупности эти службы называются системой свойств WPF. Collectively, these services are referred to as the WPF property system. Свойство, поддерживаемое системой свойств WPF, называется свойством зависимостей. A property that is backed by the WPF property system is known as a dependency property.
Свойства зависимостей дополняют функциональные возможности свойства, предоставляя тип DependencyProperty для реализации поддержки свойства. Dependency properties extend property functionality by providing the DependencyProperty type that backs a property. Тип свойства зависимостей является альтернативной реализацией стандартного шаблона для резервирования свойства с закрытым полем. The dependency property type is an alternative implementation of the standard pattern of backing the property with a private field.
Свойство зависимостей Dependency property
Свойства зависимостей предназначены для предоставления способа вычисления значения свойства по значениям других входных данных. The purpose of dependency properties is to provide a way to compute the value of a property based on the value of other inputs. Такие входные данные могут включать в себя системные свойства, такие как темы и предпочтения пользователя, а также JIT-свойства из привязок данных и анимаций. These other inputs might include system properties such as themes and user preferences, or just-in-time property from data binding and animations.
Свойство зависимостей может быть реализовано для проверки, определения значений по умолчанию и выполнения обратных вызовов, которые позволяют отслеживать изменения в других свойствах. A dependency property can be implemented to provide validation, default values, and callbacks that monitor changes to other properties. Производные классы также могут изменять некоторые специфические характеристики существующего свойства путем переопределения метаданных свойства зависимостей вместо того, чтобы создавать новые или переопределять существующие свойства. Derived classes can also change some specific characteristics of an existing property by overriding dependency property metadata, rather than creating a new property or overriding an existing property.
Объект зависимости Dependency object
Еще одним важным элементом системы свойств WPF является DependencyObject. Another type that is key to the WPF property system is the DependencyObject. Этот тип определяет базовый класс для регистрации свойства зависимостей и использования в качестве его владельца. This type defines the base class that can register and own a dependency property. Методы GetValue и SetValue обеспечивают реализацию резервирования свойства зависимостей для экземпляра объекта зависимости. The GetValue and SetValue methods provide the backing implementation of the dependency property for the dependency object instance.
Свойство зависимостей определяется как статический член типа объекта зависимости, как TextField в приведенном выше примере. The dependency property is defined as a static member of a dependency object type, such as TextField in example above. Свойство зависимостей должно быть зарегистрировано в объекте зависимости. The dependency property must be registered with the dependency object.
События Events
Основное преимущество системы перенаправленных событий заключается в том, что события поднимаются по дереву элементов элемента управления в поисках обработчика. The main advantage of the routed event system is that events are bubbled up the control element tree looking for a handler. Например, поскольку в WPF реализована обширная модель управления содержимым, вы можете задать элемент управления «Изображение» в качестве содержимого элемента управления «Кнопка». For example, because WPF has a rich content model, you set an image control as the content of a button control. При щелчке кнопки мыши на элементе управления «Изображение» вы предполагаете, что будут использоваться события мыши, в результате чего срабатывает проверка попаданий и вызывается событие Click кнопки. When the mouse is clicked on the image control, you would expect it to consume the mouse events, and thus break the hit-tests that cause a button to invoke the Click event. В традиционной модели событий CLR это ограничение можно обойти, присоединив один и тот же обработчик к изображению и кнопке. In a traditional CLR eventing model, you would work around this limitation by attaching the same handler to both the image and the button. Однако в системе перенаправленных событий события мыши, вызываемые для элемента управления «Изображение» (например, при выборе изображения), поднимаются по дереву до родительского элемента управления «Кнопка». But with the routed event system, the mouse events invoked on the image control (such as selecting it) bubble up to the parent button control.
привязка данных, Data binding
Привязка данных WPF предоставляет приложениям простой и последовательный способ представления данных и взаимодействия с ними. WPF data binding provides a simple and consistent way for applications to present and interact with data. Элемент можно привязывать к данным из источников самого разного типа в форме объектов CLR и XML. Elements can be bound to data from different types of data sources in the form of common language runtime (CLR) objects and XML. WPF также предоставляет механизм передачи данных с помощью операций перетаскивания. WPF also provides a mechanism for the transfer of data through drag-and-drop operations.
Привязка данных — это процесс установления соединения между пользовательским интерфейсом приложения и бизнес-логикой. Data binding is the process that establishes a connection between the application UI and business logic. Если для привязки заданы правильные настройки, а изменения значений данных сопровождаются правильными уведомлениями, привязанные к данным элементы автоматически отражают изменения. If the binding has the correct settings and the data provides the proper notifications, then, when the data changes its value, the elements that bound to the data reflect changes automatically. Привязка данных может также означать, что если внешнее представление данных в элементе изменяется, то базовые данные могут автоматически обновляться для отражения изменений. Data binding can also mean that if an outer representation of the data in an element changes, then the underlying data is automatically updated to reflect the change. Например, если пользователь изменяет значение в элементе TextBox, базовое значение данных автоматически обновляется, чтобы отразить это изменение. For example, if the user edits the value in a TextBox element, the underlying data value is automatically updated to reflect that change.
Более подробную информацию см. в разделе Общие сведения о привязке данных. For more information, see Data binding overview.
Компоненты пользовательского интерфейса UI components
Стили и шаблоны Styles and templates
Стилизация и использование шаблонов WPF относятся к набору возможностей (стили, шаблоны, триггеры и раскадровки), которые позволяют разработчикам приложений, документации или пользовательского интерфейса создавать визуально привлекательные приложения, а также определять стандартизированный внешний вид своих продуктов. WPF styling and templating refer to a suite of features (styles, templates, triggers, and storyboards) that allow an application, document, or UI designer to create visually compelling applications and to standardize on a particular look for their product.
Еще одна особенность модели стилизации WPF заключается в разделении представления и логики. Это означает, что дизайнеры могут работать над внешним видом приложения с использованием XAML, тогда как разработчики могут определять логику программирования другим способом. Another feature of the WPF styling model is the separation of presentation and logic, which means designers can work on the appearance of an application with XAML while developers work on the programming logic elsewhere.
Также важно иметь представление о ресурсах, которые позволяют повторно использовать стили и шаблоны. In addition, it’s important to understand resources, which are what enable styles and templates to be reused.
Дополнительные сведения см. в разделе Стили и шаблоны. For more information, see Styles and templates.
Ресурсы Resources
Ресурс WPF — это объект, который можно повторно использовать в разных местах приложения. WPF resources are objects that can be reused in different places in your application. В качестве примеров ресурсов можно привести стили, шаблоны и цветные кисти. Examples of resources include styles, templates, and color brushes. Определять ресурсы и задавать ссылки на них можно как в коде, так и в формате XAML. Resources can be both defined and referenced in code and in XAML format.
Windows Presentation Foundation
Current Version Plugin Windows Presentation Foundation
Browsing the web is a great way to learn different things or to help time pass by quickly. There are many different things that you can do online through your browser. You are not just limited to reading news or stories. You can watch videos or even play games.
Surfing the web is fun but can be disappointing when you are limited to the type of multimedia files that you can view or access through your browser. This limitation can be ended by installing a plug-in to your browser. As a quick background on what plug-ins are, it enables users to add certain functions or features to their browser. This means you can personalize your browser based on what you do online.
For this instance, you can ensure that you will no longer be limited to the type of multi-media that you can access and view on your browser by adding or installing the most current version of the Windows Presentation Foundation plug-in.
Windows Presentation Foundation Plugin
The Current Version Plugin Windows Presentation Foundation or simply called the WPF plug-in enables users like you, have a better browsing experience. This plug-in allows you to access and view certain types of multimedia files that you may not have been able to see before.
This plug-in wants to improve the browser user experience since it lifts the limitation you have in viewing certain types of files. Aside from helping improve your browser, this current plug-in version will also help you view animation or any type of video better. The plug-in will not just allow you to view multimedia files, it will even help enhance the quality of the video that you will be watching.
This plug-in is very much compatible with Firefox which means that you can install it to help you enjoy browsing more.
Installing the WPF Plugin
For some time Firefox has blocked installations of the WPF plug-in, but this issue has been resolved so you may now install it to your browser.
If you are concerned about the safety and security of this plug-in you should remember that it is not a virus nor is it a malware. It is a concern that you should not bother yourself with because the WPF plug-in is not dangerous for your computer.
After you are done installing the plug-in, make sure that you enable it so that it can perform the function that it has, which were mentioned above. You may have to restart Firefox to finish the installation process. To do so close the browser and make sure that you have closed all of the other opened browsers, not just the one you have used to install it. Re-open Firefox and check if you are encountering any errors, if you have none then you are finished installing the latest version of the WPF plug-in.
Безопасность (WPF) Security (WPF)
Приложения, размещенные в браузере WPF, размещаются с помощью Windows Internet Explorer или Firefox и могут быть либо приложениями браузера XAML (XBAP), либо свободными Язык XAML Extensible Application Markup Language (XAML) документами. Дополнительные сведения см. в статье Обзор приложений браузера WPF XAML. WPF browser-hosted applications are hosted by Windows Internet Explorer or Firefox, and can be either XAML browser applications (XBAPs) or loose Язык XAML Extensible Application Markup Language (XAML) documents For more information, see WPF XAML Browser Applications Overview.
Приложения, размещенные в браузере WPF, выполняются в песочнице безопасности с частичным доверием по умолчанию, которая ограничена набором разрешений зоны Интернета CAS по умолчанию. WPF browser-hosted applications execute within a partial trust security sandbox, by default, which is limited to the default CAS Internet zone permission set. Это эффективно изолирует приложения, размещенные в браузере WPF, от клиентского компьютера так же, как обычные веб-приложения будут изолированы. This effectively isolates WPF browser-hosted applications from the client computer in the same way that you would expect typical Web applications to be isolated. Приложение XBAP может повысить привилегии вплоть до полного доверия в зависимости от зоны безопасности URL-адреса развертывания и конфигурации безопасности клиента. An XBAP can elevate privileges, up to Full Trust, depending on the security zone of the deployment URL and the client’s security configuration. Дополнительные сведения см. в разделе Безопасность частичного доверия в WPF. For more information, see WPF Partial Trust Security.
В этом разделе обсуждается модель безопасности для изолированных приложений Windows Presentation Foundation (WPF) и обозревателей, размещенных в браузере. This topic discusses the security model for Windows Presentation Foundation (WPF) standalone and browser-hosted applications.
В этом разделе содержатся следующие подразделы. This topic contains the following sections:
Безопасная навигация Safe Navigation
Для XBAP WPF различает два типа навигации: приложение и браузер. For XBAPs, WPF distinguishes two types of navigation: application and browser.
Навигация в приложении — это навигация между элементами содержимого в пределах приложения, размещенного в браузере. Application navigation is navigation between items of content within an application that is hosted by a browser. Навигация в браузере — это навигация, изменяющая содержимое и URL-адрес расположения самого браузера. Browser navigation is navigation that changes the content and location URL of a browser itself. Связь между навигацией между приложениями (обычно XAML) и навигацией в браузере (как правило, HTML) показана на следующем рисунке: The relationship between application navigation (typically XAML) and browser navigation (typically HTML) is shown in the following illustration:
Тип содержимого, которое считается безопасным для перехода XBAP, в первую очередь определяется тем, используется ли Навигация по приложению или браузер. The type of content that is considered safe for an XBAP to navigate to is primarily determined by whether application navigation or browser navigation is used.
Безопасность навигации в приложениях Application Navigation Security
Навигация по приложениям считается надежной, если ее можно определить с помощью URI типа «Pack», который поддерживает четыре типа содержимого: Application navigation is considered safe if it can be identified with a pack URI, which supports four types of content:
Тип содержимого Content Type | Описание Description | Пример URI URI Example | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ресурс Resource | Файлы, добавляемые в проект с типом построения » ресурс«. Files that are added to a project with a build type of Resource. | pack://application. /MyResourceFile.xaml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержимое Content | Файлы, добавляемые в проект с типом сборки содержимое. Files that are added to a project with a build type of Content. | pack://application. /MyContentFile.xaml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Исходный веб-сайт Site of origin | Файлы, добавляемые в проект с типом построения » нет«. Files that are added to a project with a build type of None. | pack://siteoforigin. /MySiteOfOriginFile.xaml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Код приложения Application code | Ресурсы XAML, имеющие скомпилированный код программной части. XAML resources that have a compiled code-behind. Дополнительные сведения о файлах данных приложения и URI типа «Pack» см. в разделе ресурс приложения WPF, содержимое и файлы данных. For more information about application data files and pack URIs, see WPF Application Resource, Content, and Data Files. Файлы этих типов содержимого поддерживают навигацию, выполняемую пользователем или программно. Files of these content types can be navigated to by either the user or programmatically: Навигация, выполняемая пользователем. User Navigation. Пользователь переходит по щелчку Hyperlink элемента. The user navigates by clicking a Hyperlink element. Программная навигация. Programmatic Navigation. Приложение переходит без участия пользователя, например путем установки NavigationWindow.Source Свойства. The application navigates without involving the user, for example, by setting the NavigationWindow.Source property. Безопасность навигации в браузере Browser Navigation SecurityНавигация в браузере считается безопасной только при выполнении следующих условий. Browser navigation is considered safe only under the following conditions: Зона. Zone. Содержимое, к которому выполняется переход, находится в Интернете или в локальной интрасети. The content being navigated to is located on the Internet or the local intranet. Протокол. Protocol. Используемый протокол — http, HTTPS, File или mailto. The protocol being used is either http, https, file, or mailto. Если XBAP пытается переходить к содержимому способом, который не соответствует этим условиям, SecurityException создается исключение. If an XBAP attempts to navigate to content in a manner that does not comply with these conditions, a SecurityException is thrown. Параметры безопасности программного обеспечения для просмотра веб-страниц Web Browsing Software Security SettingsInternet Explorer предоставляет механизм, с помощью которого можно настроить функциональные возможности, разрешенные для выполнения в Internet Explorer, включая следующие. Internet Explorer provides a mechanism by which you can configure the functionality that is allowed to be executed by or from Internet Explorer, including the following: элементы управления ActiveX и подключаемые модули; ActiveX controls and plug-ins Файлы для загрузки Downloads Проверка подлинности пользователей User Authentication Набор функциональных возможностей, которые могут быть защищены таким образом, настраивается для каждой зоны в зонах » Интернет«, » интрасеть«, » Доверенные сайты» и » ограниченные сайты «. The collection of functionality that can be secured in this way is configured on a per-zone basis for the Internet, Intranet, Trusted Sites, and Restricted Sites zones. Ниже приведена процедура для настройки параметров безопасности. The following steps describe how to configure your security settings: Откройте Панель управления. Open Control Panel. Откроется диалоговое окно «Свойства веб-обозревателя». The Internet Options dialog box appears. На вкладке Безопасность выберите зону, для которой необходимо настроить параметры безопасности. On the Security tab, select the zone to configure the security settings for. К диалоговому окну «Свойства обозревателя» можно также перейти из Internet Explorer. You can also get to the Internet Options dialog box from Internet Explorer. В меню Сервис выберите пункт Свойства обозревателя. Click Tools and then click Internet Options. Свободный XAML. Loose XAML. Определяет, может ли Internet Explorer переходить к XAML XAML файлам и свободные файлы. Controls whether Internet Explorer can navigate to and loose XAML XAML files. (Варианты: «Включить», «Отключить» и «Запрашивать».) (Enable, Disable, and Prompt options). XAML-приложения браузера. XAML browser applications. Определяет, может ли Internet Explorer переходить к и запускать XBAP. Controls whether Internet Explorer can navigate to and run XBAPs. (Варианты: «Включить», «Отключить» и «Запрашивать».) (Enable, Disable, and Prompt options). Параметры реестра WPF, связанные с безопасностью Security-related WPF Registry SettingsПомимо параметров безопасности, доступных в окне «Свойства обозревателя», для избирательного отключения некоторых функций WPF, влияющих на безопасность, предусмотрены перечисленные далее значения реестра. In addition to the security settings available through the Internet Options, the following registry values are available for selectively blocking a number of security-sensitive WPF features. Значения определяются в следующем разделе. The values are defined under the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\Features В таблице ниже перечислены возможные задаваемые значения. The following table lists the values that can be set.
Элемент управления WebBrowser и элементы управления функциями WebBrowser Control and Feature ControlsWebBrowserЭлемент управления WPF можно использовать для размещения веб-содержимого. The WPF WebBrowser control can be used to host Web content. WebBrowserЭлемент управления WPF заключает в оболочку базовый элемент управления ActiveX WebBrowser. The WPF WebBrowser control wraps the underlying WebBrowser ActiveX control. WPF обеспечивает некоторую поддержку защиты приложения при использовании WebBrowser элемента управления WPF для размещения ненадежного веб-содержимого. WPF provides some support for securing your application when you use the WPF WebBrowser control to host untrusted Web content. Однако некоторые функции безопасности должны быть применены непосредственно приложениями с помощью WebBrowser элемента управления. However, some security features must be applied directly by the applications using the WebBrowser control. Дополнительные сведения об элементе управления ActiveX WebBrowser см. в разделе WebBrowser Control обзоры и учебники. For more information about the WebBrowser ActiveX control, see WebBrowser Control Overviews and Tutorials. Этот раздел также применяется к Frame элементу управления, так как он использует WebBrowser для перехода к содержимому HTML. This section also applies to the Frame control since it uses the WebBrowser to navigate to HTML content. Если WebBrowser элемент управления WPF используется для размещения ненадежного веб-содержимого, приложение должно использовать частичное доверие, AppDomain чтобы изолировать код приложения от потенциально вредоносного кода HTML-скрипта. If the WPF WebBrowser control is used to host untrusted Web content, your application should use a partial-trust AppDomain to help insulate your application code from potentially malicious HTML script code. Это особенно верно, если приложение взаимодействует с размещенным скриптом с помощью InvokeScript метода и ObjectForScripting Свойства. This is especially true if your application is interacting with the hosted script by using the InvokeScript method and the ObjectForScripting property. Дополнительные сведения см. в статье Общие сведения о Add-Ins WPF. For more information, see WPF Add-Ins Overview. Если приложение использует WebBrowser элемент управления WPF, другим способом повышения безопасности и устранения атак является включение элементов управления функциями Internet Explorer. If your application uses the WPF WebBrowser control, another way to increase security and mitigate attacks is to enable Internet Explorer feature controls. Элементы управления функциями — это дополнения к Internet Explorer, позволяющие администраторам и разработчикам настраивать функции Internet Explorer и приложений, на которых размещается элемент управления ActiveX WebBrowser, который WebBrowser является элементом управления WPF. Feature controls are additions to Internet Explorer that allow administrators and developers to configure features of Internet Explorer and applications that host the WebBrowser ActiveX control, which the WPF WebBrowser control wraps. Элементы управления функциями можно настраивать с помощью функции коинтернетсетфеатуринаблед или изменяя значения в реестре. Feature controls can be configured by using the CoInternetSetFeatureEnabled function or by changing values in the registry. Дополнительные сведения об элементах управления функциями см. в разделе Введение в элементы управления функциями и элементы управления функциями Интернета. For more information about feature controls, see Introduction to Feature Controls and Internet Feature Controls. При разработке автономного приложения WPF, использующего WebBrowser элемент управления WPF, WPF автоматически включает следующие элементы управления функциями для приложения. If you are developing a standalone WPF application that uses the WPF WebBrowser control, WPF automatically enables the following feature controls for your application.
Поскольку эти элементы управления функциями включаются безусловно, они могут нарушать работу приложения с полным доверием. Since these feature controls are enabled unconditionally, a full-trust application might be impaired by them. В этом случае, если нет риска безопасности для конкретного приложения и содержимого, размещенного в нем, можно отключить соответствующий элемент управления функцией. In this case, if there is no security risk for the specific application and the content it is hosting, the corresponding feature control can be disabled. Элементы управления функциями применяются процессом, создающим экземпляр объекта ActiveX WebBrowser. Feature controls are applied by the process instantiating the WebBrowser ActiveX object. Таким образом, при создании автономного приложения, которое может переходить к ненадежному содержимому, следует рассмотреть возможность включения дополнительных элементов управления функциями. Therefore, if you are creating a stand-alone application that can navigate to untrusted content, you should seriously consider enabling additional feature controls. Эта рекомендация основана на общих рекомендациях по безопасности узлов MSHTML и SHDOCVW. This recommendation is based on general recommendations for MSHTML and SHDOCVW host security. Дополнительные сведения см. в разделе вопросы и ответы по безопасности главного узла MSHTML: часть I из II и часто задаваемые вопросы о безопасности узла MSHTML: часть II из II. For more information, see The MSHTML Host Security FAQ: Part I of II and The MSHTML Host Security FAQ: Part II of II. Для исполняемого файла можно включить следующие элементы управления функциями путем установки значения реестра равным 1. For your executable, consider enabling the following feature controls by setting the registry value to 1.
Для исполняемого файла можно отключить следующие элементы управления функциями путем установки значения реестра равным 0. For your executable, consider disabling the following feature control by setting the registry value to 0.
При запуске приложения браузера XAML (XBAP) с частичным доверием, которое включает WebBrowser элемент управления WPF в Windows Internet Explorer, WPF размещает элемент управления ActiveX WebBrowser в адресном пространстве процесса Internet Explorer. If you run a partial-trust XAML browser application (XBAP) that includes a WPF WebBrowser control in Windows Internet Explorer, WPF hosts the WebBrowser ActiveX control in the address space of the Internet Explorer process. Так как элемент управления ActiveX WebBrowser размещается в процессе Internet Explorer, все элементы управления функциями для Internet Explorer также включены для элемента управления ActiveX WebBrowser. Since the WebBrowser ActiveX control is hosted in the Internet Explorer process, all of the feature controls for Internet Explorer are also enabled for the WebBrowser ActiveX control. XBAP-приложения, выполняющиеся в Internet Explorer, также получают более высокий уровень безопасности по сравнению с обычными автономными приложениями. XBAPs running in Internet Explorer also get an additional level of security compared to normal standalone applications. Такая дополнительная безопасность заключается в том, что Internet Explorer и, следовательно, элемент управления ActiveX WebBrowser работает в защищенном режиме по умолчанию в Windows Vista и Windows 7. This additional security is because Internet Explorer, and therefore the WebBrowser ActiveX control, runs in protected mode by default on Windows Vista and Windows 7. Дополнительные сведения о защищенном режиме см. в разделе понимание и работа в защищенном режиме Internet Explorer. For more information about protected mode, see Understanding and Working in Protected Mode Internet Explorer. При попытке запустить XBAP, включающий WebBrowser элемент управления WPF в браузере Firefox, в зоне Интернета SecurityException будет создано исключение. If you try to run an XBAP that includes a WPF WebBrowser control in Firefox, while in the Internet zone, a SecurityException will be thrown. Это связано с политикой безопасности WPF. This is due to WPF security policy. Отключение сборок APTCA для клиентских приложений с частичным доверием Disabling APTCA Assemblies for Partially Trusted Client ApplicationsЕсли управляемые сборки устанавливаются в глобальный кэш сборок (GAC), они становятся полностью доверенными, поскольку пользователь должен предоставить явное разрешение на их установку. When managed assemblies are installed into the global assembly cache (GAC), they become fully trusted because the user must provide explicit permission to install them. Поскольку они пользуются полным доверием, их могут использовать только полностью доверенные управляемые клиентские приложения. Because they are fully trusted, only fully trusted managed client applications can use them. Чтобы разрешить приложениям с частичным доверием использовать их, они должны быть помечены атрибутом AllowPartiallyTrustedCallersAttribute (APTCA). To allow partially trusted applications to use them, they must be marked with the AllowPartiallyTrustedCallersAttribute (APTCA). Этим атрибутом могут быть помечены только сборки, которые были протестированы для подтверждения безопасности при выполнении в режиме частичного доверия. Only assemblies that have been tested to be safe for execution in partial trust should be marked with this attribute. WPF предоставляет механизм, с помощью которого сборку APTCA можно отключить для частично доверенных XBAP без удаления сборки APTCA. WPF provides a mechanism by which an APTCA assembly can be disabled for partially trusted XBAPs without uninstalling the APTCA assembly. Чтобы отключить сборку APTCA, необходимо создать специальный раздел реестра. To disable an APTCA assembly, you have to create a special registry key: Пример приведен ниже. The following shows an example: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\APTCA\aptcagac, Version=1.0.0.0, Culture=neutral, PublicKeyToken=215e3ac809a0fea7, FileVersion=1.0.0.0 Этот раздел содержит запись для сборки APTCA. This key establishes an entry for the APTCA assembly. Вам также потребуется создать значение в этом разделе, включающее или отключающее сборку. You also have to create a value in this key that enables or disables the assembly. Ниже приведены сведения об этом значении. The following are the details of the value: Имя значения: APTCA_FLAG. Value Name: APTCA_FLAG. Тип значения: REG_DWORD. Value Type: REG_DWORD. Если сборку необходимо отключить для клиентских приложений с частичным доверием, можно написать обновление, создающее раздел реестра и значение. If an assembly has to be disabled for partially trusted client applications, you can write an update that creates the registry key and value. Режим песочницы для свободных файлов XAML Sandbox Behavior for Loose XAML FilesСвободные XAML XAML файлы — это файлы XAML только для разметки, которые не зависят от кода программной части, обработчика событий или сборки конкретного приложения. Loose XAML XAML files are markup-only XAML files that do not depend on any code-behind, event handler, or application-specific assembly. При XAML XAML переходе к свободным файлам непосредственно из браузера они загружаются в песочнице безопасности на основе набора разрешений зоны Интернета по умолчанию. When loose XAML XAML files are navigated to directly from the browser, they are loaded in a security sandbox based on the default Internet zone permission set. Однако поведение безопасности отличается при XAML XAML переходе к свободным файлам из NavigationWindow или Frame в автономном приложении. However, the security behavior is different when loose XAML XAML files are navigated to from either a NavigationWindow or Frame in a standalone application. В обоих случаях свободный XAML XAML файл, к которому осуществляется переход, наследует разрешения ведущего приложения. In both cases, the loose XAML XAML file that is navigated to inherits the permissions of its host application. Однако такое поведение может быть нежелательно с точки зрения безопасности, особенно если свободный XAML XAML файл был создан ненадежной или неизвестной сущностью. However, this behavior may be undesirable from a security perspective, particularly if a loose XAML XAML file was produced by an entity that is either not trusted or unknown. Этот тип содержимого называется внешним содержимым, и Frame его можно настроить таким образом, NavigationWindow чтобы изолировать его при переходе к. This type of content is known as external content, and both Frame and NavigationWindow can be configured to isolate it when navigated to. Изоляция достигается путем присвоения свойству сандбоксекстерналконтент значения true, как показано в следующих примерах для Frame и NavigationWindow : Isolation is achieved by setting the SandboxExternalContent property to true, as shown in the following examples for Frame and NavigationWindow: Этот параметр позволяет загружать внешнее содержимое в процесс, который отделен от процесса, содержащего приложение. With this setting, external content will be loaded into a process that is separate from the process that is hosting the application. Этот процесс ограничен набором разрешений зоны Интернета по умолчанию, что эффективно изолирует его от ведущего приложения и клиентского компьютера. This process is restricted to the default Internet zone permission set, effectively isolating it from the hosting application and the client computer. Несмотря на то, что переход на свободные XAML XAML файлы из NavigationWindow или Frame в автономном приложении реализован на основе инфраструктуры размещения WPF, включающей в себя процесс PresentationHost, уровень безопасности немного меньше, чем при загрузке содержимого непосредственно в Internet Explorer в Windows Vista и Windows 7 (что будет по-прежнему реализовано через PresentationHost). Even though navigation to loose XAML XAML files from either a NavigationWindow or Frame in a standalone application is implemented based on the WPF browser hosting infrastructure, involving the PresentationHost process, the security level is slightly less than when the content is loaded directly in Internet Explorer on Windows Vista and Windows 7 (which would still be through PresentationHost). Это обусловлено тем, что автономное приложение WPF, использующее веб-браузер, не предоставляет дополнительную функцию безопасности «Защищенный режим» Internet Explorer. This is because a standalone WPF application using a Web browser does not provide the additional Protected Mode security feature of Internet Explorer. Ресурсы для разработки приложений WPF, обеспечивающих безопасность Resources for Developing WPF Applications that Promote SecurityНиже приведены некоторые дополнительные ресурсы, помогающие в разработке приложений WPF, повышающих безопасность: The following are some additional resources to help develop WPF applications that promote security:
|