예제 #1
0
        protected virtual void RegisterMapperConfiguration(TSConfig config)
        {
            //bağımlılıklar
            var typeFinder = new WebAppTypeFinder();

            //Diğer assmblyler tarafından sağlanan bağımlılıkları kaydet
            var mcTypes     = typeFinder.FindClassesOfType <IMapperAyarları>();
            var mcInstances = new List <IMapperAyarları>();

            foreach (var mcType in mcTypes)
            {
                mcInstances.Add((IMapperAyarları)Activator.CreateInstance(mcType));
            }
            //sırala
            mcInstances = mcInstances.AsQueryable().OrderBy(t => t.Order).ToList();
            //yapılandırmayı al
            var configurationActions = new List <Action <IMapperConfigurationExpression> >();

            foreach (var mc in mcInstances)
            {
                configurationActions.Add(mc.GetConfiguration());
            }
            //kaydet
            AutoMapperAyarları.Init(configurationActions);
        }
예제 #2
0
        protected virtual void RegisterDependencies(TSConfig config)
        {
            var builder = new ContainerBuilder();

            //bağımlılıklar
            var typeFinder = new WebAppTypeFinder();

            builder.RegisterInstance(config).As <TSConfig>().SingleInstance();
            builder.RegisterInstance(this).As <IEngine>().SingleInstance();
            builder.RegisterInstance(typeFinder).As <ITypeFinder>().SingleInstance();

            //Diğer assmblyler tarafından sağlanan bağımlılıkları kaydet
            var drTypes     = typeFinder.FindClassesOfType <IDependencyRegistrar>();
            var drInstances = new List <IDependencyRegistrar>();

            foreach (var drType in drTypes)
            {
                drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType));
            }
            //sırala
            drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList();
            foreach (var dependencyRegistrar in drInstances)
            {
                dependencyRegistrar.Register(builder, typeFinder, config);
            }

            var container = builder.Build();

            GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container);
            this._containerManager        = new ContainerManager(container);

            //bağımlılık çözücü ayarla
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
예제 #3
0
        private static void refreshData()
        {
            mConfig = XConfig.GetConfig <TSConfig>(TSConst.ConfigPath_Resources, AssetLoadType.Resources, false);



            mDataRefreshed = true;
        }
예제 #4
0
        public RedisÖnbellekYönetici(TSConfig config, IRedisConnectionWrapper connectionWrapper)
        {
            if (String.IsNullOrEmpty(config.RedisCachingConnectionString))
            {
                throw new Exception("Redis connection string is empty");
            }

            // ConnectionMultiplexer.Connect should only be called once and shared between callers
            this._connectionWrapper = connectionWrapper;

            this._db = _connectionWrapper.GetDatabase();
            this._perRequestCacheManager = EngineContext.Current.Resolve <IÖnbellekYönetici>();
        }
예제 #5
0
        public void Initialize(TSConfig config)
        {
            //bağımlılıkları kaydet
            RegisterDependencies(config);

            //mapper ayarlarını kaydet
            RegisterMapperConfiguration(config);

            //görevleri başlat
            if (!config.IgnoreStartupTasks)
            {
                RunStartupTasks();
            }
        }
예제 #6
0
        public static SettingsProvider XRuntimeSetting()
        {
            return(new SettingsProvider(TSEditorConst.ProjectSetting_Node, SettingsScope.Project, new string[] { "Nekonya", "TinaX", "TS", "TypeScript", "TinaX.TS", "puerts" })
            {
                label = "X TypeScript",
                guiHandler = (searchContent) =>
                {
                    if (!mDataRefreshed)
                    {
                        refreshData();
                    }
                    if (mConfig == null)
                    {
                        GUILayout.Space(20);
                        GUILayout.Label(I18Ns.NoConfig);
                        if (GUILayout.Button(I18Ns.BtnCreateConfigFile, Styles.style_btn_normal, GUILayout.MaxWidth(120)))
                        {
                            mConfig = XConfig.CreateConfigIfNotExists <TSConfig>(TSConst.ConfigPath_Resources, AssetLoadType.Resources);
                            refreshData();
                        }
                    }
                    else
                    {
                        GUILayout.Space(20);

                        //Enable Lua
                        mConfig.Enable = EditorGUILayout.ToggleLeft(I18Ns.EnableLua, mConfig.Enable);


                        //Entry File
                        EditorGUILayout.Space();
                        EditorGUILayout.LabelField(I18Ns.EntryFilePath);
                        EditorGUILayout.BeginHorizontal();
                        mConfig.EntryJsFileLoadPath = EditorGUILayout.TextField(mConfig.EntryJsFileLoadPath);
                        if (GUILayout.Button("Select", Styles.style_btn_normal, GUILayout.Width(55)))
                        {
                            var path = EditorUtility.OpenFilePanel("Select JavaScript Entry File", "Assets/", "");
                            if (!path.IsNullOrEmpty())
                            {
                                var root_path = Directory.GetCurrentDirectory().Replace("\\", "/");
                                if (path.StartsWith(root_path))
                                {
                                    path = path.Substring(root_path.Length + 1, path.Length - root_path.Length - 1);
                                    path = path.Replace("\\", "/");
                                    mConfig.EntryJsFileLoadPath = path;
                                }
                                else
                                {
                                    Debug.LogError("Invalid Path: " + path);
                                }
                            }
                        }
                        EditorGUILayout.EndHorizontal();


                        //Framework Lua Folder Load Path
                        EditorGUILayout.Space();
                        EditorGUILayout.LabelField(I18Ns.FrameworkInternalLuaFolderLoadPath);
                        EditorGUILayout.BeginHorizontal();
                        mConfig.FrameworkInternalJsFolderLoadPath = EditorGUILayout.TextField(mConfig.FrameworkInternalJsFolderLoadPath);
                        EditorGUILayout.EndHorizontal();


                        //extension
                        EditorGUILayout.Space();
                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(I18Ns.LuaExtension, GUILayout.MaxWidth(120));
                        mConfig.JsFileExtensionName = EditorGUILayout.TextField(mConfig.JsFileExtensionName, GUILayout.MaxWidth(120));
                        if (mConfig.JsFileExtensionName != ".js.txt")
                        {
                            if (GUILayout.Button(".lua.txt", Styles.style_btn_normal, GUILayout.Width(75)))
                            {
                                mConfig.JsFileExtensionName = ".js.txt";
                            }
                        }
                        if (mConfig.JsFileExtensionName != ".js.bytes")
                        {
                            if (GUILayout.Button(".js.bytes", Styles.style_btn_normal, GUILayout.Width(75)))
                            {
                                mConfig.JsFileExtensionName = ".js.bytes";
                            }
                        }
                        if (mConfig.JsFileExtensionName != ".txt")
                        {
                            if (GUILayout.Button(".txt", Styles.style_btn_normal, GUILayout.Width(75)))
                            {
                                mConfig.JsFileExtensionName = ".txt";
                            }
                        }

                        EditorGUILayout.EndHorizontal();
                    }
                },
                deactivateHandler = () =>
                {
                    if (mConfig != null)
                    {
                        if (!mConfig.JsFileExtensionName.IsNullOrEmpty())
                        {
                            mConfig.JsFileExtensionName = mConfig.JsFileExtensionName.ToLower();
                            if (!mConfig.JsFileExtensionName.StartsWith("."))
                            {
                                mConfig.JsFileExtensionName = "." + mConfig.JsFileExtensionName;
                            }
                        }
                        EditorUtility.SetDirty(mConfig);
                        AssetDatabase.SaveAssets();
                        AssetDatabase.Refresh();
                    }
                }
            });
        }
예제 #7
0
 public KullanıcıAracıYardımcısı(TSConfig ayar, HttpContextBase httpContext)
 {
     this._ayar        = ayar;
     this._httpContext = httpContext;
 }
예제 #8
0
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, TSConfig config)
        {
            //HTTP context and other related stuff
            builder.Register(c =>
                             //register FakeHttpContext when HttpContext is not available
                             HttpContext.Current != null ?
                             (new HttpContextWrapper(HttpContext.Current) as HttpContextBase) :
                             (new FakeHttpContext("~/") as HttpContextBase))
            .As <HttpContextBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Request)
            .As <HttpRequestBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Response)
            .As <HttpResponseBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Server)
            .As <HttpServerUtilityBase>()
            .InstancePerLifetimeScope();
            builder.Register(c => c.Resolve <HttpContextBase>().Session)
            .As <HttpSessionStateBase>()
            .InstancePerLifetimeScope();

            //web helper
            builder.RegisterType <WebYardımcısı>().As <IWebYardımcısı>().InstancePerLifetimeScope();
            //user agent helper
            builder.RegisterType <KullanıcıAracıYardımcısı>().As <IKullanıcıAracıYardımcısı>().InstancePerLifetimeScope();


            //controllers
            builder.RegisterControllers(typeFinder.GetAssemblies().ToArray());

            //data layer
            var dataSettingsManager  = new DataAyarlarıYönetici();
            var dataProviderSettings = dataSettingsManager.AyarlarıYükle();

            builder.Register(c => dataSettingsManager.AyarlarıYükle()).As <DataAyarları>();
            builder.Register(x => new EfDataSağlayıcıYöneticisi(x.Resolve <DataAyarları>())).As <TemelVeriSağlayıcıYöneticisi>().InstancePerDependency();


            builder.Register(x => x.Resolve <TemelVeriSağlayıcıYöneticisi>().DataSağlayıcıYükle()).As <IDataSağlayıcı>().InstancePerDependency();

            if (dataProviderSettings != null && dataProviderSettings.Geçerli())
            {
                var efDataProviderManager = new EfDataSağlayıcıYöneticisi(dataSettingsManager.AyarlarıYükle());
                var dataProvider          = efDataProviderManager.DataSağlayıcıYükle();
                dataProvider.BağlantıFabrikasıBaşlat();

                builder.Register <IDbContext>(c => new TSObjectContext(dataProviderSettings.DataConnectionString)).InstancePerLifetimeScope();
            }
            else
            {
                builder.Register <IDbContext>(c => new TSObjectContext(dataSettingsManager.AyarlarıYükle().DataConnectionString)).InstancePerLifetimeScope();
            }
            builder.RegisterGeneric(typeof(EfDepo <>)).As(typeof(IDepo <>)).InstancePerLifetimeScope();

            //plugins
            builder.RegisterType <EklentiBulucu>().As <IEklentiBulucu>().InstancePerLifetimeScope();


            //cache managers
            if (config.RedisCachingEnabled)
            {
                builder.RegisterType <RedisConnectionWrapper>().As <IRedisConnectionWrapper>().SingleInstance();
                builder.RegisterType <RedisÖnbellekYönetici>().As <IÖnbellekYönetici>().Named <IÖnbellekYönetici>("ts_cache_static").InstancePerLifetimeScope();
            }
            else
            {
                builder.RegisterType <BellekÖnbellekYönetici>().As <IÖnbellekYönetici>().Named <IÖnbellekYönetici>("ts_cache_static").SingleInstance();
            }
            builder.RegisterType <İstekBaşınaÖnbellekYöneticisi>().As <IÖnbellekYönetici>().Named <IÖnbellekYönetici>("ts_cache_per_request").InstancePerLifetimeScope();

            if (config.RunOnAzureWebApps)
            {
                //builder.RegisterType<AzureWebAppsMachineNameProvider>().As<IMachineNameProvider>().SingleInstance();
            }
            else
            {
                //builder.RegisterType<DefaultMachineNameProvider>().As<IMachineNameProvider>().SingleInstance();
            }

            //work context
            builder.RegisterType <WebWorkContext>().As <IWorkContext>().InstancePerLifetimeScope();
            //store context
            builder.RegisterType <WebSiteContext>().As <ISiteContext>().InstancePerLifetimeScope();
            builder.RegisterType <GenelÖznitelikServisi>().As <IGenelÖznitelikServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KullanıcıServisi>().As <IKullanıcıServisi>().InstancePerLifetimeScope();
            builder.RegisterType <SiteServisi>().As <ISiteServisi>().InstancePerLifetimeScope();

            //use static cache (between HTTP requests)
            builder.RegisterType <AyarlarServisi>().As <IAyarlarServisi>()
            .WithParameter(ResolvedParameter.ForNamed <IÖnbellekYönetici>("ts_cache_static"))
            .InstancePerLifetimeScope();
            builder.RegisterSource(new SettingsSource());
            builder.RegisterType <ResimServisi>().As <IResimServisi>().InstancePerLifetimeScope();

            builder.RegisterType <VarsayılanLogger>().As <ILogger>().InstancePerLifetimeScope();

            //use static cache (between HTTP requests)

            builder.RegisterType <WidgetServisi>().As <IWidgetServisi>().InstancePerLifetimeScope();
            builder.RegisterType <SayfaHeadOluşturucu>().As <ISayfaHeadOluşturucu>().InstancePerLifetimeScope();
            builder.RegisterType <TemaSağlayıcı>().As <ITemaSağlayıcı>().InstancePerLifetimeScope();
            builder.RegisterType <TemaContext>().As <ITemaContext>().InstancePerLifetimeScope();
            builder.RegisterType <RotaYayınlayıcı>().As <IRotaYayınlayıcı>().SingleInstance();
            //builder.RegisterType<KullanıcıServisi>().As<IKullanıcıServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KullanıcıKayıtServisi>().As <IKullanıcıKayıtServisi>().InstancePerLifetimeScope();
            builder.RegisterType <FormKimlikDoğrulamaServisi>().As <IKimlikDoğrulamaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <ŞifrelemeServisi>().As <IŞifrelemeServisi>().InstancePerLifetimeScope();
            //Register event consumers
            var consumers = typeFinder.FindClassesOfType(typeof(IMüşteri <>)).ToList();

            foreach (var consumer in consumers)
            {
                builder.RegisterType(consumer)
                .As(consumer.FindInterfaces((type, criteria) =>
                {
                    var isMatch = type.IsGenericType && ((Type)criteria).IsAssignableFrom(type.GetGenericTypeDefinition());
                    return(isMatch);
                }, typeof(IMüşteri <>)))
                .InstancePerLifetimeScope();
            }
            builder.RegisterType <OlayYayınlayıcı>().As <IOlayYayınlayıcı>().SingleInstance();
            builder.RegisterType <AbonelikServisi>().As <IAbonelikServisi>().SingleInstance();
            builder.RegisterType <İzinServisi>().As <IİzinServisi>()
            .WithParameter(ResolvedParameter.ForNamed <IÖnbellekYönetici>("cache_static"))
            .InstancePerLifetimeScope();
            builder.RegisterType <KategoriServisi>().As <IKategoriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <SayfalarServisi>().As <ISayfalarServisi>().InstancePerLifetimeScope();
            builder.RegisterType <BankalarServisi>().As <IBankalarServisi>().InstancePerLifetimeScope();
            builder.RegisterType <MusteriSektorServisi>().As <IMusteriSektorServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TedarikciSektorServisi>().As <ITedarikciSektorServisi>().InstancePerLifetimeScope();
            builder.RegisterType <HariciSektorServisi>().As <IHariciSektorServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TeklifKalemiServisi>().As <ITeklifKalemiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <UnvanlarServisi>().As <IUnvanlarServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KonumServisi>().As <IKonumServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TeklifServisi>().As <ITeklifServisi>().InstancePerLifetimeScope();
            builder.RegisterType <Teklif2Servisi>().As <ITeklif2Servisi>().InstancePerLifetimeScope();
            builder.RegisterType <BagliTeklifOgesiServisi>().As <IBagliTeklifOgesiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <BagliTeklifOgesi2Servisi>().As <IBagliTeklifOgesi2Servisi>().InstancePerLifetimeScope();
            builder.RegisterType <TeklifHariciServisi>().As <ITeklifHariciServisi>().InstancePerLifetimeScope();
            builder.RegisterType <BagliTeklifOgesiHariciServisi>().As <IBagliTeklifOgesiHariciServisi>().InstancePerLifetimeScope();
            builder.RegisterType <GorusmeRaporlariServisi>().As <IGorusmeRaporlariServisi>().InstancePerLifetimeScope();
            builder.RegisterType <OdemeFormuServisi>().As <IOdemeFormuServisi>().InstancePerLifetimeScope();
            builder.RegisterType <HintServisi>().As <IHintServisi>().InstancePerLifetimeScope();
            builder.RegisterType <PdfServisi>().As <IPdfServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KatilimciServisi>().As <IKatilimciServisi>().InstancePerLifetimeScope();
            builder.RegisterType <RefakatciServisi>().As <IRefakatciServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KayitServisi>().As <IKayitServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KonaklamaServisi>().As <IKonaklamaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KursServisi>().As <IKursServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TransferServisi>().As <ITransferServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KongreServisi>().As <IKongreServisi>().InstancePerLifetimeScope();
            builder.RegisterType <NotServisi>().As <INotServisi>().InstancePerLifetimeScope();
            builder.RegisterType <DovizServisi>().As <IDovizServisi>().InstancePerLifetimeScope();
            builder.RegisterType <MesajServisi>().As <IMesajServisi>().InstancePerLifetimeScope();
            builder.RegisterType <MesajlarServisi>().As <IMesajlarServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TestServisi>().As <ITestServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KontenjanServisi>().As <IKontenjanServisi>().InstancePerLifetimeScope();

            builder.RegisterType <CrmGorevServisi>().As <ICrmGorevServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmUnvanServisi>().As <ICrmUnvanServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmKisiServisi>().As <ICrmKisiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmKurumServisi>().As <ICrmKurumServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmKongreServisi>().As <ICrmKongreServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmGorusmeServisi>().As <ICrmGorusmeServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmFirmaGorusmeServisi>().As <ICrmFirmaGorusmeServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmYonetimKuruluServisi>().As <ICrmYonetimKuruluServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmFirmaServisi>().As <ICrmFirmaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <CrmFirmaYetkilisiServisi>().As <ICrmFirmaYetkilisiServisi>().InstancePerLifetimeScope();


            builder.RegisterType <BültenAbonelikServisi>().As <IBültenAbonelikServisi>().InstancePerLifetimeScope();
            builder.RegisterType <ÜlkeServisi>().As <IÜlkeServisi>().InstancePerLifetimeScope();
            builder.RegisterType <AçıkYetkilendirmeServisi>().As <IAçıkYetkilendirmeServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TarihYardımcısı>().As <ITarihYardımcısı>().InstancePerLifetimeScope();
            builder.RegisterType <KullanıcıİşlemServisi>().As <IKullanıcıİşlemServisi>()
            .WithParameter(ResolvedParameter.ForNamed <IÖnbellekYönetici>("cache_static"))
            .InstancePerLifetimeScope();
            builder.RegisterType <MesajTemasıServisi>().As <IMesajTemasıServisi>().InstancePerLifetimeScope();
            builder.RegisterType <MesajServisi>().As <IMesajServisi>().InstancePerLifetimeScope();
            builder.RegisterType <EmailHesapServisi>().As <IEmailHesapServisi>().InstancePerLifetimeScope();
            builder.RegisterType <BekleyenMailServisi>().As <IBekleyenMailServisi>().InstancePerLifetimeScope();
            builder.RegisterType <ForumServisi>().As <IForumServisi>().InstancePerLifetimeScope();
            builder.RegisterType <UrlKayıtServisi>().As <IUrlKayıtServisi>()
            .WithParameter(ResolvedParameter.ForNamed <IÖnbellekYönetici>("cache_static"))
            .InstancePerLifetimeScope();
            builder.RegisterType <AclServisi>().As <IAclServisi>()
            .WithParameter(ResolvedParameter.ForNamed <IÖnbellekYönetici>("cache_static"))
            .InstancePerLifetimeScope();
            builder.RegisterType <SiteMappingServisi>().As <ISiteMappingServisi>()
            .WithParameter(ResolvedParameter.ForNamed <IÖnbellekYönetici>("cache_static"))
            .InstancePerLifetimeScope();
            builder.RegisterType <SayfaTemaServisi>().As <ISayfaTemaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <HaberServisi>().As <IHaberServisi>().InstancePerLifetimeScope();
            builder.RegisterType <BlogServisi>().As <IBlogServisi>().InstancePerLifetimeScope();
            builder.RegisterType <AnketServisi>().As <IAnketServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TamMetinServisi>().As <ITamMetinServisi>().InstancePerLifetimeScope();
            builder.RegisterType <EmailGönderici>().As <IEmailGönderici>().InstancePerLifetimeScope();
            builder.RegisterType <DownloadServisi>().As <IDownloadServisi>().InstancePerLifetimeScope();
            builder.RegisterType <XlsDosyaServisi>().As <IXlsDosyaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <XlsServisi>().As <IXlsServisi>().InstancePerLifetimeScope();
            builder.RegisterType <XlsUploadServisi>().As <IXlsUploadServisi>().InstancePerLifetimeScope();
            builder.RegisterType <BankaBilgileriServisi>().As <IBankaBilgileriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <GelirGiderHedefiServisi>().As <IGelirGiderHedefiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KontenjanBilgileriServisi>().As <IKontenjanBilgileriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TakvimServisi>().As <ITakvimServisi>().InstancePerLifetimeScope();
            builder.RegisterType <GelirGiderTanımlamaServisi>().As <IGelirGiderTanımlamaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <SponsorlukKalemleriServisi>().As <ISponsorlukKalemleriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <HekimBranşlarıServisi>().As <IHekimBranşlarıServisi>().InstancePerLifetimeScope();
            builder.RegisterType <HekimlerServisi>().As <IHekimlerServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TedarikciKategorileriServisi>().As <ITedarikciKategorileriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <YetkililerServisi>().As <IYetkililerServisi>().InstancePerLifetimeScope();
            builder.RegisterType <FirmaServisi>().As <IFirmaServisi>().InstancePerLifetimeScope();
            builder.RegisterType <FirmaKategorisiServisi>().As <IFirmaKategorisiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KongreTedarikçiServisi>().As <IKongreTedarikçiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KongreGörüşmeRaporlarıServisi>().As <IKongreGörüşmeRaporlarıServisi>().InstancePerLifetimeScope();
            builder.RegisterType <SponsorlukSatışıServisi>().As <ISponsorlukSatışıServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KayıtTipiServisi>().As <IKayıtTipiServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KayıtBilgileriServisi>().As <IKayıtBilgileriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <KursBilgileriServisi>().As <IKursBilgileriServisi>().InstancePerLifetimeScope();
            builder.RegisterType <GenelSponsorlukServisi>().As <IGenelSponsorlukServisi>().InstancePerLifetimeScope();
            builder.RegisterType <TransferServisi>().As <ITransferServisi>().InstancePerLifetimeScope();
        }
예제 #9
0
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, TSConfig config)
        {
            //installation localization service
            builder.RegisterType <RotaYayınlayıcı>().As <IRotaYayınlayıcı>().SingleInstance();
            builder.RegisterType <SiteBilgiAyarları>().As <IAyarlar>();
            builder.RegisterType <ResimServisi>().As <IResimServisi>();
            builder.RegisterType <KullanıcıModelFabrikası>().As <IKullanıcıModelFabrikası>()
            .InstancePerLifetimeScope();
            builder.RegisterType <YetkiliModelFabrikası>().As <IYetkiliModelFabrikası>()
            .InstancePerLifetimeScope();

            builder.RegisterLifetimeHubManager();
            builder.RegisterHubs(Assembly.GetExecutingAssembly());
            builder.RegisterType <KatılımcıHub>().ExternallyOwned();
        }
예제 #10
0
        public async Task <XException> Start()
        {
            if (m_Inited)
            {
                return(null);
            }
            m_Config = XConfig.GetConfig <TSConfig>(TSConst.ConfigPath_Resources);
            if (m_Config == null)
            {
                return(new XException($"[{TSConst.ServiceName}] Connot found config file."));
            }

            if (!m_Config.Enable)
            {
                return(null);
            }

            //框架内部Js文件加载路径
            m_Internal_Js_Folder_Load_Path = m_Config.FrameworkInternalJsFolderLoadPath;
            if (!m_Internal_Js_Folder_Load_Path.IsNullOrEmpty())
            {
                if (m_Internal_Js_Folder_Load_Path.EndsWith("/"))
                {
                    m_Internal_Js_Folder_Load_Path = m_Internal_Js_Folder_Load_Path.Substring(0, m_Internal_Js_Folder_Load_Path.Length - 1);
                }
                m_Internal_Js_Folder_Load_Path_withSlash = m_Internal_Js_Folder_Load_Path + "/";
            }
            //Js文件加载名称
            m_JsExtension = m_Config.JsFileExtensionName;
            if (!m_JsExtension.StartsWith("."))
            {
                m_JsExtension = "." + m_JsExtension;
            }

            if (m_Assets == null)
            {
                return(new XException($"[{TSConst.ServiceName}]" + (m_Core.IsCmnHans() ? "没有任何服务实现了Framework中的内置的资产加载接口" : "No service implements the built-in asset loading interface in Framework")));
            }

            //初始化Js的运行环境
            m_JsEnv = new JsEnv(new XTSLoader(m_Assets, c_InternalJsSign, c_Internal_Js_Extension, m_Internal_Js_Folder_Load_Path, m_JsExtension));

            //try
            //{
            //    await InitInternalEntry();
            //}
            //catch(XException e)
            //{
            //    return e;
            //}

            //准备好入口文件
            if (!m_Config.EntryJsFileLoadPath.IsNullOrEmpty())
            {
                try
                {
                    TextAsset entry_ta = await m_Assets.LoadAsync <TextAsset>(m_Config.EntryJsFileLoadPath);

                    m_EntryCodeContent = entry_ta.text;
                    //m_EntryFunc = m_JsEnv.LoadString<LuaFunction>(entry_ta.bytes, m_Config.EntryLuaFileLoadPath);
                    m_Assets.Release(entry_ta);
                }
                catch (XException e)
                {
                    return(e);
                }
            }

            if (m_UpdateTicket != null)
            {
                m_UpdateTicket.Unregister();
            }
            m_UpdateTicket = TimeMachine.RegisterUpdate(OnUpdate);

            m_Inited = true;
            return(null);
        }
예제 #11
0
 public RedisConnectionWrapper(TSConfig config)
 {
     this._config           = config;
     this._connectionString = new Lazy <string>(GetConnectionString);
     this._redisLockFactory = CreateRedisLockFactory();
 }