This project is read-only.

Project Description

CSO Gateway stands for Client Side Object Gateway. It is an object-oriented bridge between the ASP.NET worker process and the javascript runtime. It allows ASP.NET developers to seamlessly bring object oriented data on the client side while preserving the underlying class hierarchy and the object composition graph.


Object-oriented paradigm implementation
  • Uses the prototype-based programming aspect of javascript together with the ASP.NET AJAX type system to acheive object-orientation
  • Javascript class inheritance, interface implementation and object composition
  • Create javascript classes, interfaces and enums
Seamless transportation of objects on the client
  • Automatic creation of javascript classes, interfaces and enums from types on the server-side under the ASP.NET AJAX type system.
  • Automatic conversion of .NET objects into instances of these javascripts classes/interfaces/enums.
  • Automatic management of scripts via a ScriptManager-like control
  • Automatic ordering of <script> tags for javascript classes/interfaces/enums and other scripts according to their dependencies
CSO Gateway library
  • Namespace CsoGateway.Collections contains javascript collections equivalent to collections of System.Collections, System.Collections.Generic and System.Collections.Specialized. See reference topic for mapping.
Customizable and Extensible architecture
  • Override the server-client type mapping at will (future release)
  • Implement custom javascript types and map .NET type to them easily (future release)


The CSO Gateway is currently in its BETA phase. But a substantial amount of documentation is available already plus the server-side API and the client-side API documentation:


.NET 2.0 or higher
Visual Studio 2005 or higher


You can contriubte to the CSO Gateway by:
  • letting me know of bugs you encounter. Go to the Issue Tracker section and create a new item.
  • telling me what the next features of the CSO Gateway should be by starting a new thread in the the Discussion section.
  • implementing new features yourself or fix bugs yourself. And if you wish to see these changes added to the CSO Gateway please communicate with me.
The CSO Gateway is an open source project developed on my personal time. If you use the CSO Gateway, find it usefull and would like to see it improve, you can support future development by making a donation. Paypal is an easy, fast and secure way to donate.

Paypal Donation

Last edited Mar 11, 2017 at 3:37 PM by Pascal_Dufresne, version 27