static void Main(string[] args) { PrevalenceEngine engine = PrevalenceActivator.CreateTransparentEngine(typeof(ObjectModel.Company), Path.Combine(Path.GetTempPath(), "CompanySystem")); ObjectModel.Company company = engine.PrevalentSystem as ObjectModel.Company; // adding a new department is easy... ObjectModel.Department sales = new ObjectModel.Department("Sales"); company.AddDepartment(sales); // adding a user is easy too, you only have // to remember to put the right department // reference... ObjectModel.Employee employee = new ObjectModel.Employee("John Salesman"); employee.Department = new ObjectModel.Department(sales.ID); company.AddEmployee(employee); DisplayObjects(company); // updating an employee... ObjectModel.Employee updEmployee = new ObjectModel.Employee(employee.ID); updEmployee.Name = "Rodrigo B. de Oliveira"; company.UpdateEmployee(updEmployee); DisplayObjects(company); company.RemoveEmployee(employee.ID); DisplayObjects(company); }
public Application() { string prevalenceBase = Path.Combine(Environment.CurrentDirectory, "data"); _engine = PrevalenceActivator.CreateTransparentEngine(typeof(ToDoList), prevalenceBase); _system = _engine.PrevalentSystem as ToDoList; }
public static void Main(string[] args) { //ChannelServices.RegisterChannel(new TcpChannel(8080)); BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider(); provider.TypeFilterLevel = TypeFilterLevel.Full; IDictionary props = new Hashtable(); props["port"] = 8080; ChannelServices.RegisterChannel(new TcpChannel(props, null, provider)); PrevalenceEngine engine = PrevalenceActivator.CreateTransparentEngine(typeof(AddressBook), Path.Combine(Environment.CurrentDirectory, "data")); AddressBook book = engine.PrevalentSystem as AddressBook; // Let's take a complete snapshot of the system // each 30 seconds... SnapshotTaker st = new SnapshotTaker(engine, 30000); ObjRef reference = RemotingServices.Marshal(book, "AddressBook", typeof(AddressBook)); Console.WriteLine("server running... press <ENTER> to finish"); Console.ReadLine(); RemotingServices.Unmarshal(reference); }
private void SetUpEngine(System.Collections.Hashtable engines, System.Xml.XmlElement item) { string id = GetRequiredAttribute(item, "id"); string type = GetRequiredAttribute(item, "type"); string prevalenceBase = GetOptionalPrevalenceBase(item, id); bool autoVersionMigration = bool.Parse(GetOptionalAttribute(item, "autoVersionMigration", "false")); EngineType engineType = (EngineType)EngineType.Parse(typeof(EngineType), GetOptionalAttribute(item, "engineType", "Normal")); System.Type systemType = System.Type.GetType(type); if (null == systemType) { TypeNotFoundError(type, item); } try { switch (engineType) { case EngineType.Transparent: engines[id] = PrevalenceActivator.CreateTransparentEngine(systemType, prevalenceBase, autoVersionMigration); break; case EngineType.Normal: engines[id] = PrevalenceActivator.CreateEngine(systemType, prevalenceBase, autoVersionMigration, null); break; default: throw new PrevalenceException(prevalenceBase, "Invalid value for engineType attribute. Please specify one of [Normal, Transparent]."); } } catch (System.Exception x) { SetUpError(x, item); } }
private void SetupEngine() { engine = PrevalenceActivator.CreateTransparentEngine(typeof(CacheSystem), dataDir); system = engine.PrevalentSystem as CacheSystem; taker = new SnapshotTaker(engine, TimeSpan.FromMinutes(5), CleanUpAllFilesPolicy.Default); }
protected void Application_Start(object sender, EventArgs args) { _engine = PrevalenceActivator.CreateTransparentEngine(typeof(UserLoginSystem), PrevalenceBase); }