AOP Caching Components

A set of components, based on AOP (PostSharp) for injecting caching instructions in your business layer, and Memcached for storing cached values. AOP isolates caching instructions from other layers. It's developed in C#.

Apollo.Common

Apollo.Common is a set of libraries that implement common functionality required by enterprise applications. The emphasis has been placed on expected use by services and web based applications.

Smith Async .NET Memcached Client

Async .NET Memcached Client is a fully asynchronous implementation of a memcached client. The advantage of a fully asynchronous client is that you do not have threads wasted in waiting for i/o operations. The client is developed in c# 4.0. (Subject to change to 3.5 possible)

BruTile - geospatial tiling library

brutile.zip (27,1 MB)
Library to access tile services for geodata. Current protocols supported: TMS, WMS-C.

Cache Providers For .NET

Cache Provider for .NET helps enterprise applications use popular Provider model. It ships with AppFabric Cache Provider (code named Velocity) and Classic Cache Provider and can be used with ASP.NET, Windows Forms, Windows Services, WCF and WPF.

Cache Manager

CacheManager is a common interface and abstraction layer for caching. It supports various cache providers / clients and includes advanced features.

Transfer gigantic DataTables over WCF / .Net Remoting

Capacity improvements package for .NET Remoting / WCF This solution deals with transferring huge DataTables over WCF and .NET Remoting. Imagine an online casino, needing to clear transactions at end of day. The clearing service needs to collect transaction data from the database, populated by all Poker servers, and Blackjack servers. Now the Reporting service needs to receive a huge DataTable, consisting of all online gaming transactions. It is very likely that the transport will fail, because the DataTable is tremendous. When transporting large DataTables between a Server and a remote Client, there are several issues; that stem from .NET serialization. Serialization of a large DataTable is memory thirsty. A large enough DataTable will cause the client to get System.OutOfMemoryException, or System.InsufficientMemoryException. Those exceptions cannot be caught at the server side, as they occur in the innards of the framework code that deals with seriailization and transport. If the DataTable is really large, the framework will throw the server process all together, with brute force. There is no way around that. Another issue is throughput, which is not outstanding, and becomes noticeable when the table gets large. The solution at hand circumvents this problem by partitioning the DataTable to chunks and transferring the chunks in a multi-threaded fashion. In a nutshell, the Server returns an object to the client, through which the client can make concurrent calls back at the server. This approach enables an unlimited-sized table to be transferred between server and client. It also improves throughput by up to a staggering factor of 3.5 (WCF can transfer a table at 3,425 Kb/sec, whereas the current solution boosts throughput to 12,245 Kb/sec), due to the concurrent requests. (Acts like a web accelerator)

Concurrent Cache

ConcurrentCache is a smart output cache library extending OutputCacheProvider. It consists of in memory, cache files and compressed files modes and can help you control your ASP.NET OutputCache by switching modes at runtime depending on your server’s workload.

Copy to GAC

copytogac.zip (215 kB)
A small Visual Studio 2010 Add-in that enables you to copy your compiled class libraries in the global assembly cache from within the visual studio context menu

CpsDbHelper

Cps DbHelper is a set of class designed to wrap Ado.net in chained method calls. The goal is to try my best to simplify the code of using ado.net as much as p

MySpace DataRelay

DataRelay.zip (10,2 MB)
Data Relay is the foundation of MySpace's middle tier. At its heart, it is a messaging system for relaying information both between clients and servers, and amongst servers. The servers are plugin based - included are plugins for basic caching and indexed queries.

DataWashroom - Database Clean up Engine

Provides a filter core of the data-purification system, includes the common functions of data isolation and waste separation by a simplicity instruction set.

DevFx

devfx.zip (7,0 MB)
A helpful development framework (DevFx), which includes the module functions: configurations, ioc, data access, logging, cache, security access control. It’s effectual and quick to develop a new business system. 具有配置、基于配置文件的IoC、基于配置SQL的数据访问、日志、异常、缓存、权限控制等各业务通用的多层统一开发框架,为业务管理系统的开发提高了速度和效率。 DevFx是一个开源的开发框架,主要特性包括IoC、数据操作(类iBatis)。 DevFx是Development Framework的缩写,意思是统一开发框架。

DotCache

dotcache.zip (2,1 MB)
DotCache is a basic library used for caching. Its main use is within windows forms apps but can also be used in place of the caching system in ASP.Net. It is written using C#.

EasyCache .NET

EasyCache .NET is a simplified API over the ASP.NET Cache object. Its purpose is to offer a more concise syntax for adding and retrieving items from the cache.

EnterpriseLibrary Azure Backing Store

Most developers face difficulties in migrating the application, which is using caching block of Enterprise library, to azure due to unavailability of app fabric cache backing store for Enterprise Library. This library provides an app fabric backing store for enterprise library.

Enterprise Library 5 Extensions

Extensions for Enterprise Library 5 that include: * SharePoint 2010 Logging Trace Listener. * Cache Provider for Windows Server AppFabric. * Disabled Cache Prov

Filio - Distributed File Management

filio.zip (871 kB)
distributed(grid) file search, find duplicates, full text index, using http/tcp connections, very high speed using multi-threading/parallel computing, automatically detect physical harddisks and accelerate with NTFS USN Journal, and customized serialization compression caching.

FlexiCache for ASP.NET applications

FlexiCache.zip (2,3 MB)
This library provides extended cache capabilities to the ASP.NET applications. It includes the MongoDB and SQL Server output cache providers extending ASP.NET Output Cache capabilities by allowing to store cached data outside of the application process that is especially important in web-farm scenario. This library provides "Session-On-Demand" functionality - ability to separate ASP.NET Session data to subsets that can be stored outside of the main ASP.NET session and loaded on demand when it's really used rather on every request. This optimizes the out-of-proc ASP.NET session management and increases the overall site performance. These subsets of data can also be stored either in MongoDB and SQL Server. As an additional functionality, the library provides "Cache-On-Demand" that functions as an external out-of-process cache shared by all servers on web-farm. This cached data can be stored either in MongoDB and SQL Server. All functionality is highly configurable and extendable. The FlexiCache 1.1 has ability automatically collect meta data (metatags) for each cached resource or accept custom meta tags. This provides further functionality to remove the cached data by using application meaningful information embedded in the metatags. The removal process is based on application business logic. The Output Cache Provider is able to automatically build meta tags collection from query string and form parameters. The result metatags have the following format: "userid=12345", where UserId was a form or query string parameter that was supplied with the request.

Global Assembly Cache comparison tool

GACCompare.zip (1,5 MB)
The Global Assembly Cache comparison tool allows you to compare the GAC's of two (or more) different machines to view the differences. It helps with making sure the machines are set up similarly.