This section provides comprehensive API documentation for all public classes, interfaces, and components in the CoreRemoting framework. The documentation is organized by namespace to help you quickly find the specific components you need.
- CoreRemoting - Main remoting client and server classes, configuration, and core interfaces
RemotingClient,RemotingServer,ClientConfig,ServerConfigIRemotingClient,IRemotingServer,IServiceProxy
- CoreRemoting.ClassicRemotingApi - Classic .NET Remoting style APIs for migration
RemotingConfiguration,WellKnownServiceTypeEntry,RemotingServices- Configuration file support, service registration, and proxy utilities
- CoreRemoting.Channels - Network transport channels and communication protocols
- TCP, WebSocket, Named Pipe, and Null channels
IClientChannel,IServerChannel,IRawMessageTransport
- CoreRemoting.Authentication - Authentication framework and credential management
IAuthenticationProvider,Credential,RemotingIdentityAuthenticationRequestMessage,AuthenticationResponseMessage
- CoreRemoting.DependencyInjection - DI container abstractions and implementations
IDependencyInjectionContainer, Microsoft DI and Castle Windsor adapters
- CoreRemoting.Serialization - Serialization framework and built-in serializers
ISerializerAdapter, BSON, NeoBinary, and custom serializer support
- CoreRemoting.RpcMessaging - RPC message types and message building framework
MethodCallMessage,MethodCallResultMessage,IMessageEncryptionManager
- CoreRemoting.RemoteDelegates - Remote delegate invocation and event handling
IDelegateProxy,IDelegateProxyFactory, event subscription across boundaries
- CoreRemoting.Threading - Async synchronization primitives and utilities
AsyncLock,AsyncManualResetEvent,AsyncReaderWriterLock
- CoreRemoting.Toolbox - General utility classes and extensions
TaskExtensions,LimitedSizeQueue<T>
CoreRemoting follows a layered architecture where each namespace provides specific functionality:
┌─────────────────────────────────────────────────────────────┐
│ Application Layer │
│ (Your Services and Client Code) │
├─────────────────────────────────────────────────────────────┤
│ CoreRemoting │
│ RemotingClient, RemotingServer, Configuration, Proxies │
├─────────────────────────────────────────────────────────────┤
│ Framework Layer │
│ Authentication | DependencyInjection | Serialization │
├─────────────────────────────────────────────────────────────┤
│ Messaging Layer │
│ RpcMessaging | RemoteDelegates │
├─────────────────────────────────────────────────────────────┤
│ Transport Layer │
│ Channels | Threading | Toolbox │
└─────────────────────────────────────────────────────────────┘
CoreRemoting is designed for extensibility. The main extension points are:
- Custom Channels - Implement
IClientChannel/IServerChannelfor new transport protocols - Custom Serializers - Implement
ISerializerAdapterfor different data formats - Custom Authentication - Implement
IAuthenticationProviderfor auth mechanisms - Custom DI Containers - Implement
IDependencyInjectionContainerfor IoC frameworks - Remote Events - Use the remote delegates framework for event-driven communication
If you're new to CoreRemoting, we recommend this reading order:
- CoreRemoting - Understand the main API
- Configuration - Learn how to configure client and server
- CoreRemoting.Channels - Choose appropriate transport channel
- CoreRemoting.Serialization - Select serialization format
- CoreRemoting.Authentication - Add security if needed
- 🔄 Interface - Contract that must be implemented
- 🏗️ Class - Concrete implementation
- ⚙️ Configuration - Configuration class or related component
- 🔧 Utility - Helper or utility class
- 🚫 Exception - Exception class
For conceptual documentation, tutorials, and getting started guides, see the main documentation sections.