public bool Connect(CoreComOptions coreComOptions) { _coreComOptions = coreComOptions; //start timmer for connect to server _timer.Interval = Convert.ToDouble(1000); _timer.Enabled = true; _checkQueueTimer.Interval = Convert.ToDouble(coreComOptions.GrpcOptions.RequestServerQueueIntervalSec * 1000); var optionsBuilder = new DbContextOptionsBuilder <CoreComContext>(); switch (coreComOptions.DatabaseMode) { case DatabaseModeEnum.UseInMemory: optionsBuilder.UseInMemoryDatabase(databaseName: "CoreComDb"); optionsBuilder.UseBatchEF_Sqlite(); break; case DatabaseModeEnum.UseSqlite: string dbPath = Path.Combine(FileSystem.AppDataDirectory, "CoreComDb.db3"); optionsBuilder.UseSqlite($"Filename={dbPath}"); optionsBuilder.UseBatchEF_Sqlite(); break; default: break; } _dbContextOptions = optionsBuilder.Options; RemoveHistory(); return(true); }
public bool SetupCoreComServer() { _coreComOptions = new CoreComOptions { //debug on android emulator ServerAddress = (Device.RuntimePlatform == Device.Android ? "https://10.0.2.2:5001" : "https://localhost:5001"), //azure debug //ServerAddress = "https://wallteccorecomtestserver.azurewebsites.net", DatabaseMode = DatabaseModeEnum.UseSqlite, GrpcOptions = new GrpcOptions { RequestServerQueueIntervalSec = 30, MessageDeadlineSec = 30 }, LogSettings = new LogSettings { LogMessageTarget = LogMessageTargetEnum.Database, LogMessageHistoryDays = 10, LogEventTarget = LogEventTargetEnum.NoLoging, LogEventHistoryDays = 10, LogErrorTarget = LogErrorTargetEnum.NoLoging, LogErrorHistoryDays = 10 } }; //Debug local on mac where the server is running in "Kestrel": { "EndpointDefaults": { "Protocols": "Http1" } } #if DEBUG _coreComOptions.DangerousAcceptAnyServerCertificateValidator = true; #endif return(true); }
public MyService(IServiceScopeFactory serviceScopeFactory, CoreComOptions coreComOptions) : base(coreComOptions) { _serviceScopeFactory = serviceScopeFactory; //this functions are public Register(CoreComSignatures.RequestAllProjects, GetAllProjectsFromDb); //This need that the user have token RegisterAuth <Project>(CoreComSignatures.AddProject, AddProjectsToDb); RegisterAuth <Project>(CoreComSignatures.DeleteProject, DeleteProject); }
public CoreComService(CoreComOptions coreComOptions) { _coreComOptions = coreComOptions; }