Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 8 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 04.12.08
Prihlásený: 16.12.10
Príspevky: 59
Témy: 10
Príspevok NapísalOffline : 02.04.2010 16:35

Dá sa nejako pomocou napr. Singletonu spraviť, aby sa mi po spustení aplikácie otvorilo spojenie na Oracle DBS, a po skončení uzavrelo?

Myslím,žeby mi to určite zrýchlilo aplikáciu, keďže by sa pri dotazoch nemusel stále otvárať spojenie atď.

Poprosil by som konkrétny kus kódu...skúšal som to nejako takto...



Kód:
 private static OracleConnection connection = new OracleConnection(oradb);
        private DatabaseControl() { connection.Open(); }

        public static DatabaseControl Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new DatabaseControl();
                }
                return instance;
            }
        }


No ale keď som potom z jednej metódy vymazal using (connection = new OracleConnection(oradb))
{ ... }, resp. len using(connection) tak to nešlo...:/

Viete mi pomôcť?







_________________
Robím, čo možem. Keď nerobím, nemožem.
Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 26.09.07
Prihlásený: 06.06.10
Príspevky: 53
Témy: 7
Bydlisko: Zákopčie, K...
Príspevok NapísalOffline : 02.04.2010 20:22

Tak v prvom rade ked pouzijes using bez vytvorenia novej instancie tak po konci oboru platnosti definovaneho usingom sa automaticky pre ten objekt vola garbage collector a objekt ti zrusi.

To ale len tak pomimo. Osobne by som totiz urcite neriesil pripajanie na DB cez singleton. Pripojenie na databazu a odpojenie netrva zas tak dlho ako si ty predstavujes a ked uz by si to chcel optimalizovat tak optimalizuj len pripojenia v ramci nejakej aktivity (myslim tymsubor cinnosti medzi dvoma vstupmy od uzivatela) ale nie pocas behu celej aplikacie. Nech sa vyjadri aj niekto iny ale podla mna je to blbost.

Neviem aku velku aplikaciu mas ale pokial si myslis ze kvoli DB pocitujes zmenu vykonu tak by si sa mal skor zamerat na optimalizaciu databazy a poctu pripojeni a nie riesit to takymto "hackom".

Ale je to len moj nazor.







_________________
Život by bol jednoduchší, keby sme k nemu mali zdrojový kód!
Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 20.07.08
Príspevky: 474
Témy: 1
Bydlisko: Kosice
Príspevok NapísalOffline : 02.04.2010 20:33

singleton neodporucam z vlastnej skusenosti
.NET pouziva connection pooling, takze otvaranie/zatvaranie pripojenia nespomaluje beh aplikacie
napr: http://msdn.microsoft.com/en-us/library/ms254502.aspx

napis komplet kod, ako robis dotazy na DB....


Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 04.12.08
Prihlásený: 16.12.10
Príspevky: 59
Témy: 10
Príspevok Napísal autor témyOffline : 03.04.2010 0:14

Normále každý dotaz začína using connection...

Ezekiell, ten server je škólsky pre všetkých študentov...takže to bude asi v tom...







_________________
Robím, čo možem. Keď nerobím, nemožem.
Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 26.09.07
Prihlásený: 06.06.10
Príspevky: 53
Témy: 7
Bydlisko: Zákopčie, K...
Príspevok NapísalOffline : 03.04.2010 11:49

A mas predstavu alebo odhad kolko krat sa aplikacia pripaja medzi jednotlivymi vstupmi uzivatela?
Myslim ze ked budes pouzivat
using (connection = new OracleConnection(oradb)) tak nemas problem.







_________________
Život by bol jednoduchší, keby sme k nemu mali zdrojový kód!
Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 15.05.10
Prihlásený: 21.06.10
Príspevky: 1
Témy: 0
Príspevok NapísalOffline : 29.05.2010 3:42

Co takto toto ? CommandBehavior.CloseConnection hned po execute.

Kód:
 
public override DbDataReader GetCokolvek()
      {
        const string sqlString = @"SELECT [id] id, [name] text FROM dbo.countries (NOLOCK)";

        Database.DatabaseConnection conn = DataLayer.DbContext.GetConnection();
     
        using (DbCommand dbc = conn.CreateCommand(sqlString.ToString(), System.Data.CommandType.Text))
        {
          return dbc.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
        }
      }


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.09
Prihlásený: 14.01.13
Príspevky: 28
Témy: 3
Príspevok NapísalOffline : 21.06.2010 15:14

No ja by som to urcite robil cez Singleton. V konstruktore otvoris spojenie a zabit ti to staci az uplne na konci programu, cez nejaku metodu Close().


Offline

Užívateľ
Užívateľ
C# Aplikácia

Registrovaný: 04.12.08
Prihlásený: 16.12.10
Príspevky: 59
Témy: 10
Príspevok Napísal autor témyOffline : 24.06.2010 13:46

Dík za rady... riešim to ako odpojenú aplikáciu...teda sa zmeny v DBS neprejavu hneď ale až po uložení.







_________________
Robím, čo možem. Keď nerobím, nemožem.
Odpovedať na tému [ Príspevkov: 8 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. start aplikacia

v Ponuka práce

0

840

25.11.2009 17:26

xvovox Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aplikacia viber

v Smartfóny a tablety

1

1105

03.03.2012 10:23

Qpkqkma Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. facebook aplikacia

v Ponuka práce

0

940

11.02.2012 11:18

deedee04 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aplikacia .dll

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Operačné systémy Microsoft

33

1931

01.09.2007 23:51

Roberbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aplikácia fotoaparát

v Smartfóny a tablety

1

334

04.01.2016 21:21

Miso122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Facebook aplikácia

v PHP, ASP

1

730

25.04.2011 15:57

Bajzik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Webova aplikacia

v PHP, ASP

3

615

22.11.2009 14:41

Miloss222 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. youtube aplikacia

v Ostatné programy

0

2921

18.02.2019 20:47

mindy87 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Konzolová aplikácia

v Ostatné

2

289

02.06.2013 8:57

eLko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aplikacia messenger

v Smartfóny a tablety

2

406

21.05.2015 20:01

jjjano1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aplikacia vo wine

v Operačné systémy Unix a Linux

3

455

16.01.2011 11:21

jararak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aplikacia na hudbu

v Smartfóny a tablety

13

460

07.07.2018 12:10

SamerLp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aplikacia do mobilu

v Mobilné zariadenia

5

538

09.10.2014 12:29

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aplikacia na pozadi

v Delphi, Visual Basic

4

1182

31.01.2007 22:48

Rasputin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Google aplikácia - Mapy

v Ostatné

1

376

31.12.2011 20:36

maťo* Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Java aplikácia - PhpMyAdmin

v Databázy

0

21

18.04.2024 18:56

tommmiii Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra