Posted
over 7 years
ago
by
yallie
[en] RemoveSession frees session variables (issue #2588).
|
Posted
over 7 years
ago
by
yallie
RemoveSession method removes session data, but keeps session variables.Session variables should be freed when a session is removed
|
Posted
over 7 years
ago
by
yallie
RemoveSession method removes session data, but keeps session variables.Session variables should be freed when a session is removed
|
Posted
over 7 years
ago
by
yallie
Project descriptionZyan is a framework that simplifies development of distributed applications.With Zyan you can publish every .NET class for remote access over the network.Zyan is highly customizable and provides you with tools to build modular
... [More]
and plugable distributed applications.Project homepage: zyan.com.deNuGet package: Zyan 2.7.0Zyan runs on Microsoft .NET Framework 3.5 Client Profile or Mono 2.10 or higher.It supports Windows, Linux (screenshot), MacOS and Android. Features
Intuitive RPC communication
Versatile hosting opportunities for .NET components (local or remote)
Singleton and SingleCall Component Activiation
Supports TCP, HTTP and Named Pipes (Other protocols can be backfitted via custom plug-ins)
Bidirectional TCP communication through clientside NAT firewalls
Encrypted communication without certificates and Active Directory possible
Transparent network traffic compression
Easy to use customizable authentication system
Support for integrated Windows authentication (Single Sign On)
Support for basic authentication against the servers SAM (useful, if no Active Directory present)
Replaceable session managment
Fast and slim in-proc session management (Sessions are stored th the server´s memory)
or scalable SQL Server based session management (Sessions are stored in a SQL Server database)
Support for Session Variables in In-Proc sessions and SQL stored sessions
Distributed Events as easy as button_Click in Windows.Forms
Support for wiring distributed Event Based Components (EBC)
Zyan says "Hello World"To publish component for remote access:
// Create component host named "ZyanDemo" and bind to TCP port 8080
var host = new ZyanComponentHost("ZyanDemo", 8080);
// Register component type and interface
host.RegisterComponent();
That's all what is needed to make HelloWorld service remotely accessible.HelloWorldService doesn't have to derive from MarshalByRefObj class. It don't need to be decorated with ServiceContract attribute either. Any .NET class can be used as a hosted component. The only requirement is that it must implement some interface. This interface is used to communicate with remote component.To access published component from remote computer:
// Connect to server
var connection = new ZyanConnection("tcp://localhost:8080/ZyanDemo");
// Create HelloWorldService proxy
var proxy = connection.CreateProxy();
// Invoke method (just like for local object)
proxy.SayHello("HelloWorld");
Click here for English Documentation.Click here to display Credits.If you have any questions about Zyan, please feel free to contact me.
ProjektbeschreibungZyan ist ein Framework für die einfache Erstellung von verteilten Anwendungen. Erstellen Sie ganz einfach Applikationen, deren Komponenten entweder über ein LAN oder über das Internet miteinander kommunizieren. Zyan ist sehr einfach einzusetzen und hochgradig anpassbar. Außerdem unterstützt Zyan auch Event Based Components!Zyan läuft sowohl unter dem Microsoft .NET Framework 3.5 Client Profile als auch unter Mono 2.8 oder höher. Hier erfahren Sie mehr: Zyan auf LinuxFeatures
Intuitive RPC-Kommunikation
Vielseitige Hosting-Möglichkeiten für .NET Komponenten (lokal oder verteilt)
Singleton- and SingleCall-Komponentenaktivierung
Unterstützung von TCP, HTTP und Named Pipes (Beliebige weitere Protokolle sind über Plug-Ins nachrüstbar)
Bidirektionale TCP-Kommunikation durch clientseitige NAT-Firewalls hindurch
Veschlüsselung der Kommunikation ohne Zertifikate und ohne Active Directory möglich
Transparente Komprimierung des Netzwerkverkehrs
Authentifizierungssystem (über Plug-Ins erweiterbar)
Unterstützung für Integrierte Windows-Authentifizierung mit Active Directory (Single Sign On)
Serverseitige Prüfung von Windows-Anmeldeinformationen (nützlich, wenn kein Active Directory verfügbar ist)
Sitzungsverwaltung (über Plug-Ins erweiterbar/austauschbar)
Schnelle In-Process Sitzungsverwaltung (Sitzungen werden im Arbeitsspeicher des Servers gehalten)
oder skalierbare SQL Server Sitzungsverwaltung (Sitzungen werden in einer SQL Server Datenbank gespeichert); Ab ChangeSet 5707
Unterstützung für Sitzungsvariablen für In-Process-Sitzungen und SQL Server gespeicherte Sitzungen
Verteilte Ereignisse, die so einfach einzusetzen sind, wie button_Click bei Windows.Forms
Unterstützung für einfache Verdrahtung von verteilten EBCs
Zyan sagt "Hello World"So veröffentlichen Sie eine Klasse für den entfernten Zugriff übers Netzwerk:
// Komponentenhost mit dem namen "ZyanDemo" erzeugen und auf TCP-Anschluss 8080 auf Anfragen lauschen
ZyanComponentHost host = new ZyanComponentHost("ZyanDemo", 8080);
// Typ der zu veröffentlichenden Komponente mit Schnittstelle registrieren
host.RegisterComponent();
Das genügt schon, um HelloWorldService enfernt aufrufen zu können.HelloWorldService muss nicht von MarshalByRefObj abgeleitet sein. Sie müssen auch keine Contract-Attribute hinschreiben.Nein, sie können jede X-beliebige Klasse für den entfernten Zugriff veröffentlichen. Das einzige was Sie außer der Klasse brachen, ist eine Schnittstelle.Über die Schnittstelle kommunizieren die Clients mit der veröffentlichten Klasse.So rufen Sie die veröffentliche Komponente von einem anderen Computer aus auf:
// Verbindung zum Server herstellen
ZyanConnection connection = new ZyanConnection("tcp://localhost:8080/ZyanDemo");
// Proxy für die Kommunikation mit dem entfernten HelloWordService erzeugen
IHelloWordService proxy = connection.CreateProxy();
// Methode aufrufen (ganz genauso wie bei lokalen Objekten auch)
proxy.SayHello("HelloWorld");
So einfach können Sie mit Zyan verteilte Anwendungen erstellen.Klicken Sie hier, um Danksagungen anzuzeigen: CreditsMöchten Sie mehr wissen?
Описание проектаZyan — это инфраструктура, упрощающая разработку распределенных приложений.Используя Zyan, вы можете опубликовать любой .NET-класс для удаленного взаимодействия.Zyan гибко настраивается и предоставляет все необходимые инструменты для построения модульных распределенных приложений.Zyan требует для работы Microsoft .NET Framework 3.5 Client Profile, либо Mono 2.10 или выше.Поддерживаются платформы Windows, Linux (скриншот), MacOS и Android.Особенности
Интуитивный программный интерфейс
Широкий выбор вариантов хостинга .NET-компонентов (локальных или удаленных)
Два режима активации компонентов: сингльтон и режим одиночных вызовов
Поддержка TCP, HTTP и именованных каналов (для других протоколов возможно написать собственные плагины)
Дуплексный TCP-канал позволяет серверу взаимодействовать с клиентами, находящимся за NAT-ом или брандмауэром
Поддержка шифрованных каналов, не требующая сертификатов и наличия служб Active Directory
Прозрачная упаковка сетевого трафика
Простая в использовании расширяемая система аутентификации
Поддержка интегрированной аутентификации Windows (единый вход в систему)
Поддержка базовой аутентификации на серверах SAM (удобно при отсутствии служб Active Directory)
Расширяемое управление сессиями
Быстрый и легкий однопроцессный менеджер сессий (сессии хранятся в памяти сервера)
Масштабируемый менеджер сессии на базе SQL-сервера (сессии хранятся в СУБД)
Переменные сессий поддерживаются обоими вариантами менеджера сессий
Распределенные события обрабатываются так же просто, как button_Click в Windows.Forms-приложениях
Поддержка связывания распределенных EBC-компонентов (Event Based Components)
Простейший пример распределенного приложенияПубликация компонента:
// Создаем сервер ZyanDemo и привязываем его к TCP-порту 8080
var host = new ZyanComponentHost("ZyanDemo", 8080);
// Регистрируем тип и интерфейс компонента
host.RegisterComponent();
Вот и все, что нужно, чтобы компонент HelloWorldService стал доступным для удаленного взаимодействия.Классу HelloWorldService не требуется наследование от MarshalByRefObject. Кроме того, не требуется разметка класса атрибутами ServiceContract и OperationContract. Любой .NET-класс может быть опубликован для удаленного взаимодействия. Единственное требование к нему — наличие интерфейса, через который будут осуществляться вызовы методов.Получение доступа к службе с удаленного компьютера:
// Соединяемся с сервером
var connection = new ZyanConnection("tcp://localhost:8080/ZyanDemo");
// Создаем прокси-объект для HelloWorldService
var proxy = connection.CreateProxy();
// Вызываем метод (точно так же, как метод локального объекта)
proxy.SayHello("HelloWorld");
Дальнейшие подробности см. в разделе Документация. *Zyan NuGet Package
[Less]
|
Posted
over 7 years
ago
by
yallie
Project descriptionZyan is a framework that simplifies development of distributed applications.With Zyan you can publish every .NET class for remote access over the network.Zyan is highly customizable and provides you with tools to build modular
... [More]
and plugable distributed applications.Project homepage: zyan.com.deNuGet package: Zyan 2.7.0Zyan runs on Microsoft .NET Framework 3.5 Client Profile or Mono 2.10 or higher.It supports Windows, Linux (screenshot), MacOS and Android. Features
Intuitive RPC communication
Versatile hosting opportunities for .NET components (local or remote)
Singleton and SingleCall Component Activiation
Supports TCP, HTTP and Named Pipes (Other protocols can be backfitted via custom plug-ins)
Bidirectional TCP communication through clientside NAT firewalls
Encrypted communication without certificates and Active Directory possible
Transparent network traffic compression
Easy to use customizable authentication system
Support for integrated Windows authentication (Single Sign On)
Support for basic authentication against the servers SAM (useful, if no Active Directory present)
Replaceable session managment
Fast and slim in-proc session management (Sessions are stored th the server´s memory)
or scalable SQL Server based session management (Sessions are stored in a SQL Server database)
Support for Session Variables in In-Proc sessions and SQL stored sessions
Distributed Events as easy as button_Click in Windows.Forms
Support for wiring distributed Event Based Components (EBC)
Zyan says "Hello World"To publish component for remote access:
// Create component host named "ZyanDemo" and bind to TCP port 8080
var host = new ZyanComponentHost("ZyanDemo", 8080);
// Register component type and interface
host.RegisterComponent();
That's all what is needed to make HelloWorld service remotely accessible.HelloWorldService doesn't have to derive from MarshalByRefObj class. It don't need to be decorated with ServiceContract attribute either. Any .NET class can be used as a hosted component. The only requirement is that it must implement some interface. This interface is used to communicate with remote component.To access published component from remote computer:
// Connect to server
var connection = new ZyanConnection("tcp://localhost:8080/ZyanDemo");
// Create HelloWorldService proxy
var proxy = connection.CreateProxy();
// Invoke method (just like for local object)
proxy.SayHello("HelloWorld");
Click here for English Documentation.Click here to display Credits.If you have any questions about Zyan, please feel free to contact me.
ProjektbeschreibungZyan ist ein Framework für die einfache Erstellung von verteilten Anwendungen. Erstellen Sie ganz einfach Applikationen, deren Komponenten entweder über ein LAN oder über das Internet miteinander kommunizieren. Zyan ist sehr einfach einzusetzen und hochgradig anpassbar. Außerdem unterstützt Zyan auch Event Based Components!Zyan läuft sowohl unter dem Microsoft .NET Framework 3.5 Client Profile als auch unter Mono 2.8 oder höher. Hier erfahren Sie mehr: Zyan auf LinuxFeatures
Intuitive RPC-Kommunikation
Vielseitige Hosting-Möglichkeiten für .NET Komponenten (lokal oder verteilt)
Singleton- and SingleCall-Komponentenaktivierung
Unterstützung von TCP, HTTP und Named Pipes (Beliebige weitere Protokolle sind über Plug-Ins nachrüstbar)
Bidirektionale TCP-Kommunikation durch clientseitige NAT-Firewalls hindurch
Veschlüsselung der Kommunikation ohne Zertifikate und ohne Active Directory möglich
Transparente Komprimierung des Netzwerkverkehrs
Authentifizierungssystem (über Plug-Ins erweiterbar)
Unterstützung für Integrierte Windows-Authentifizierung mit Active Directory (Single Sign On)
Serverseitige Prüfung von Windows-Anmeldeinformationen (nützlich, wenn kein Active Directory verfügbar ist)
Sitzungsverwaltung (über Plug-Ins erweiterbar/austauschbar)
Schnelle In-Process Sitzungsverwaltung (Sitzungen werden im Arbeitsspeicher des Servers gehalten)
oder skalierbare SQL Server Sitzungsverwaltung (Sitzungen werden in einer SQL Server Datenbank gespeichert); Ab ChangeSet 5707
Unterstützung für Sitzungsvariablen für In-Process-Sitzungen und SQL Server gespeicherte Sitzungen
Verteilte Ereignisse, die so einfach einzusetzen sind, wie button_Click bei Windows.Forms
Unterstützung für einfache Verdrahtung von verteilten EBCs
Zyan sagt "Hello World"So veröffentlichen Sie eine Klasse für den entfernten Zugriff übers Netzwerk:
// Komponentenhost mit dem namen "ZyanDemo" erzeugen und auf TCP-Anschluss 8080 auf Anfragen lauschen
ZyanComponentHost host = new ZyanComponentHost("ZyanDemo", 8080);
// Typ der zu veröffentlichenden Komponente mit Schnittstelle registrieren
host.RegisterComponent();
Das genügt schon, um HelloWorldService enfernt aufrufen zu können.HelloWorldService muss nicht von MarshalByRefObj abgeleitet sein. Sie müssen auch keine Contract-Attribute hinschreiben.Nein, sie können jede X-beliebige Klasse für den entfernten Zugriff veröffentlichen. Das einzige was Sie außer der Klasse brachen, ist eine Schnittstelle.Über die Schnittstelle kommunizieren die Clients mit der veröffentlichten Klasse.So rufen Sie die veröffentliche Komponente von einem anderen Computer aus auf:
// Verbindung zum Server herstellen
ZyanConnection connection = new ZyanConnection("tcp://localhost:8080/ZyanDemo");
// Proxy für die Kommunikation mit dem entfernten HelloWordService erzeugen
IHelloWordService proxy = connection.CreateProxy();
// Methode aufrufen (ganz genauso wie bei lokalen Objekten auch)
proxy.SayHello("HelloWorld");
So einfach können Sie mit Zyan verteilte Anwendungen erstellen.Klicken Sie hier, um Danksagungen anzuzeigen: CreditsMöchten Sie mehr wissen?
Описание проектаZyan — это инфраструктура, упрощающая разработку распределенных приложений.Используя Zyan, вы можете опубликовать любой .NET-класс для удаленного взаимодействия.Zyan гибко настраивается и предоставляет все необходимые инструменты для построения модульных распределенных приложений.Zyan требует для работы Microsoft .NET Framework 3.5 Client Profile, либо Mono 2.10 или выше.Поддерживаются платформы Windows, Linux (скриншот), MacOS и Android.Особенности
Интуитивный программный интерфейс
Широкий выбор вариантов хостинга .NET-компонентов (локальных или удаленных)
Два режима активации компонентов: сингльтон и режим одиночных вызовов
Поддержка TCP, HTTP и именованных каналов (для других протоколов возможно написать собственные плагины)
Дуплексный TCP-канал позволяет серверу взаимодействовать с клиентами, находящимся за NAT-ом или брандмауэром
Поддержка шифрованных каналов, не требующая сертификатов и наличия служб Active Directory
Прозрачная упаковка сетевого трафика
Простая в использовании расширяемая система аутентификации
Поддержка интегрированной аутентификации Windows (единый вход в систему)
Поддержка базовой аутентификации на серверах SAM (удобно при отсутствии служб Active Directory)
Расширяемое управление сессиями
Быстрый и легкий однопроцессный менеджер сессий (сессии хранятся в памяти сервера)
Масштабируемый менеджер сессии на базе SQL-сервера (сессии хранятся в СУБД)
Переменные сессий поддерживаются обоими вариантами менеджера сессий
Распределенные события обрабатываются так же просто, как button_Click в Windows.Forms-приложениях
Поддержка связывания распределенных EBC-компонентов (Event Based Components)
Простейший пример распределенного приложенияПубликация компонента:
// Создаем сервер ZyanDemo и привязываем его к TCP-порту 8080
var host = new ZyanComponentHost("ZyanDemo", 8080);
// Регистрируем тип и интерфейс компонента
host.RegisterComponent();
Вот и все, что нужно, чтобы компонент HelloWorldService стал доступным для удаленного взаимодействия.Классу HelloWorldService не требуется наследование от MarshalByRefObject. Кроме того, не требуется разметка класса атрибутами ServiceContract и OperationContract. Любой .NET-класс может быть опубликован для удаленного взаимодействия. Единственное требование к нему — наличие интерфейса, через который будут осуществляться вызовы методов.Получение доступа к службе с удаленного компьютера:
// Соединяемся с сервером
var connection = new ZyanConnection("tcp://localhost:8080/ZyanDemo");
// Создаем прокси-объект для HelloWorldService
var proxy = connection.CreateProxy();
// Вызываем метод (точно так же, как метод локального объекта)
proxy.SayHello("HelloWorld");
Дальнейшие подробности см. в разделе Документация. Zyan 2.6 NuGet Package, Xamarin.Android Component
[Less]
|
Posted
over 7 years
ago
by
yallie
Hello everyone,
Zyan 2.7 is now published.
Nuget package: http://nuget.org/List/Packages/Zyan
Binaries: https://zyan.codeplex.com/releases/view/611069
This is mostly a bugfix release, fully backwards-compatible.
Most important fixes address
... [More]
memory leaks and thread safety.
What's new:
C# 6.0 and .NET 4.6 support (#2529)
CryptoConfig infrastructure is used to create encryption algorithms (#2369)
Improved InvokeCanceledEventArgs (#2450)
Bugfixes:
ServerSession.ClientAddress during logon
SocketException AddressAlreadyInUse
Thread safety issue in call interceptors
Remoting custom errors mode had already been set
Nested closure breaks expression serialization (C# 6.0)
Memory leak in LINQ support
Infinite-lifetime MBRs memory leaks
[Less]
|
Posted
over 7 years
ago
by
yallie
Zyan 2.7 NuGet package
Project description
Zyan is an easy to use distributed application framework for .NET, Mono and Android.With Zyan you can publish any .NET class for remote access over network.
[en] What's new in Zyan 2.7:
C# 6.0 and .NET 4.6
... [More]
support (#2529)
CryptoConfig infrastructure is used to create encryption algorithms (#2369)
Added new properties to InvokeCanceledEventArgs (#2450):
InterfaceName
MethodName
Arguments
DelegateCorrelationSet
Bugs fixed:
[en] ServerSession.ClientAddress during logon
[en]/[de] SocketException AddressAlreadyInUse
[en] Thread safety issue in call interceptors
[en] Remoting custom errors mode had already been set
[en] Nested closure breaks expression serialization (C# 6.0)
[en] Memory leak in LINQ support
[en] Infinite-lifetime MBRs memory leaks
Acknowledgements
We'd like to express our gratitude to the following people who have helped to improve this release of Zyan:
Nathan B. Evans — for his post about the infinite-lifetime remoting servers memory leaks.
Active users of Zyan — for their bug reports and feature requests.
[Less]
|
Posted
over 7 years
ago
Zyan 2.7 NuGet package
Project description
Zyan is an easy to use distributed application framework for .NET, Mono and Android.
With Zyan you can publish any .NET class for remote access over network.
[en]
What's new in Zyan 2.7:
C# 6.0 and .NET
... [More]
4.6 support (#2529)
CryptoConfig infrastructure is used to create encryption algorithms (#2369)
Added new properties to InvokeCanceledEventArgs (#2450):
InterfaceName
MethodName
Arguments
DelegateCorrelationSet
Bugs fixed:
[en] ServerSession.ClientAddress during logon
[en]/[de] SocketException AddressAlreadyInUse
[en] Thread safety issue in call interceptors
[en] Remoting custom errors mode had already been set
[en] Nested closure breaks expression serialization (C# 6.0)
[en] Memory leak in LINQ support
[en] Infinite-lifetime MBRs memory leaks
Acknowledgements
We'd like to express our gratitude to the following people who have helped to improve this release of Zyan:
Nathan B. Evans — for his post about the infinite-lifetime remoting servers
memory leaks.
Active users of Zyan — for their bug reports and feature requests.
[Less]
|
Posted
over 7 years
ago
by
yallie
[en] Prepared release 2.7 for publishing.
|
Posted
over 7 years
ago
by
yallie
MarshalByRefObjects with an infinite lifetime cause subtle memory leaks.One of these classes, DelegateInterceptor, holds a reference to the client event handler.Which, in turn, can prevent the whole object graph from being garbage collected.Comments: Fixed, see changeset #44627.
|