Средства разработки приложений


Развертывание


На рисунке 4 приведена диаграмма развертывания рассматриваемого решения.

Рисунок 4

Решение состоит из трех основных .NET-сборок, обеспечивающих процессы аутентификации, авторизации, поддержку сессий:

SecurityBase - сборка, содержащая общие для Web-сервера и сервера приложения типы и константы.

SecurityClient - сборка, содержащая типы для клиентской части схемы аутентификации и типы, обеспечивающие поддержку сессий на Web-сервере. Устанавливается на Web-сервер.

SecurityServer - сборка, содержащая типы для аутентификации и поддержки сессий на стороне сервера приложения.

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

На сервере приложения устанавливается полная версия BusinessFacade.

На Web-сервере и сервере приложения настраивается конфигурация Remoting.

На Web-сервере конфигурация содержится в Web.config <system.runtime.remoting> <application name="SHR"> <client> <wellknown type="RemotingExample.BusinessFacade.SomeSystem, BusinessFacade" url="tcp://localhost:8039/SHR/SomeSystem.rem"/> </client> <channels> <channel ref="tcp client"> <clientProviders> <formatter ref="binary" includeVersions="false"/> <provider type="RemotingExample.Security.ClientChannelSinkProvider, SecurityClient"/> </clientProviders> </channel> </channels> </application> </system.runtime.remoting>

Не сервере приложения в ConsoleServer.exe.config: <system.runtime.remoting> <application name="SHR"> <service> <wellknown mode="Singleton" type="RemotingExample.BusinessFacade.SomeSystem, BusinessFacade" objectUri="SomeSystem.rem" /> </service> <channels> <channel name="ServerCnannel" ref="tcp server" port="8039" > <serverProviders> <formatter ref="binary" includeVersions="false"/> <provider type="RemotingExample.Security.ServerChannelSinkProvider, SecurityServer"/> </serverProviders> </channel> </channels> </application> </system.runtime.remoting>

Инициализация конфигурации Remoting на Web-сервере происходит в методе: protected void Application_Start(Object sender, EventArgs e) { string configPath = System.IO.Path.Combine(Context.Server. MapPath(Context.Request.ApplicationPath ),"Web.config"); RemotingConfiguration.Configure(configPath); }

Инициализация на сервере приложения: RemotingConfiguration.Configure("ConsoleServer.exe.config");


Начало  Назад  Вперед



Книжный магазин