[ 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 | 10
NapísalOffline : 02.04.2010 16:35 | C# Aplikácia

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 | 7
Bydlisko: Zákopčie, K...
NapísalOffline : 02.04.2010 20:22 | C# Aplikácia

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 | 1
Bydlisko: Kosice
NapísalOffline : 02.04.2010 20:33 | C# Aplikácia

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 | 10
Napísal autor témyOffline : 03.04.2010 0:14 | C# Aplikácia

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 | 7
Bydlisko: Zákopčie, K...
NapísalOffline : 03.04.2010 11:49 | C# Aplikácia

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 | 0
NapísalOffline : 29.05.2010 3:42 | C# Aplikácia

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 | 3
NapísalOffline : 21.06.2010 15:14 | C# Aplikácia

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 | 10
Napísal autor témyOffline : 24.06.2010 13:46 | C# Aplikácia

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.
 [ Príspevkov: 8 ] 


C# Aplikácia



Podobné témy

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

Webova aplikacia

v PHP, ASP

3

608

22.11.2009 14:41

Miloss222

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

Konzolová aplikácia

v Ostatné

2

279

02.06.2013 8:57

eLko

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

aplikacia messenger

v Smartfóny a tablety

2

398

21.05.2015 20:01

jjjano1

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

start aplikacia

v Ponuka práce

0

833

25.11.2009 17:26

xvovox

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

youtube aplikacia

v Ostatné programy

0

2916

18.02.2019 20:47

mindy87

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

aplikacia viber

v Smartfóny a tablety

1

1095

03.03.2012 10:23

Qpkqkma

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

facebook aplikacia

v Ponuka práce

0

929

11.02.2012 11:18

deedee04

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

1910

01.09.2007 23:51

Roberbo

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

Aplikácia fotoaparát

v Smartfóny a tablety

1

327

04.01.2016 21:21

Miso122

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

Facebook aplikácia

v PHP, ASP

1

722

25.04.2011 15:57

Bajzik

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

Aplikacia na hudbu

v Smartfóny a tablety

13

442

07.07.2018 12:10

SamerLp

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

Aplikacia vo wine

v Operačné systémy Unix a Linux

3

448

16.01.2011 11:21

jararak

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

aplikacia do mobilu

v Mobilné zariadenia

5

529

09.10.2014 12:29

Mandy

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

Aplikacia na pozadi

v Delphi, Visual Basic

4

1167

31.01.2007 22:48

Rasputin

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

Google aplikácia - Mapy

v Ostatné

1

369

31.12.2011 20:36

maťo*

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

Aplikácia na paušál

v Smartfóny a tablety

11

563

07.11.2013 15:04

SKRiPT



© 2005 - 2024 PCforum, edited by JanoF