Új hozzászólás Aktív témák
-
gyuri10
tag
Szia Amargo,
Igy nem illik/erdemes egy DataTable-t letrehozni, kiveve ha csak futasidoben derul ki, hogy milyen oszlopaid is lennenek. Ahogy Gregorius is irta, hasznalj tipusos DataSet-et sokkal kevesebb munka, lenyegesen rovidebb kod, es a compiler kiboki a hibaid joreszet, mig az altalad javasolt megoldasban futasidoben vagy kiderulnek vagy nem.
Visual Studioval tipusos DataSet-et legeccerubb letezo adatbazis tablajabol csinalni. Letrehozol egy datasetet a Add New Item ''wizzarddal'', aztan a Server Explorerbol egy tablat drag&droppal radobsz a dataset-re amikor az design modban van. Erre VS csinal neked egy class-t ami a DataSet-tol van orokolve es kesz tipusos propertyket farag minden oszlopodhoz. Tovabba megirja neked az db update-hez szukseges kodot is. Ha nincs adatbazisod akkor sincs minden veszve, ugyanis a tipusos DataSet-ed metadata-jat - amibol automatikusan kesziti neked a C# osztalyt - egy xsd filekent tarolja, amit magad is editalhatsz szabadon. Csak a Solution Explorerben kapcsold be, hogy minden file-t lass es ott figyel az XSD a dataset-ed alatt. -
gyuri10
tag
válasz
andriscs
#238
üzenetére
remObject.myEvent += new RemoteObjectNS.RemoteObject.MyEventHandler(clientMethod);
Ez a sor eleg gazos. A MyEventHandler ebben a sorban micsoda? Class nev? Akkor olyan namespaced van hogy RemoteObject?
Vagy metodust new-zol?
Mindenesetre a += jobb oldalan egy peldany.Metodus jellegu cucc kene hogy alljon zarojel nelkul. Az en elozo peldamban:
andriscsClass.myEvent += myEnventHandlerClass.MyEventHandlerMethod;
andriscsClass : a te RemoteObject class-od egy peldanya
myEvent: annak egy mezoje
myEnventHandlerClass: ha jol ertem akkor ez a kliens oldali classod megfelelojenek egy peldanya!
MyEventHandlerMethod: Ez pedig a visszahivando metodusod (te clientMethodnak hivtad) zarojel nelkul -
gyuri10
tag
válasz
andriscs
#232
üzenetére
Ha angolul megfelel:
http://www.thinktecture.com/Resources/ArchitectureBriefings/RemotingBestPractices.pdf
Ez nem igazan tutorial, hanem hogy mikor erdemes Remoting-ot alkalmazni.
Ha jol ertem a te eseted egy csevego alkalmazasra hajaz: kliens felszol a szervernek, a szerver meg visszahivja az osszes resztvevo klienst. Vagy kulonben minek akarnal a szerverrol hivast inditani? (felcserelodott a kliens es a szerver szerepe).
Ha csak jatszol akkor eventekkel mukodni fog, ha komoly az ugy akkor a remotingot erre felejtsd el. -
gyuri10
tag
válasz
Gregorius
#233
üzenetére
Ez igy van, mukodik is laborkornyezetben de valos eletben remotingot nem ajanlott gepek kozott hasznalni (kiveve single call modban). A problema abbol adodik, hogy nem allapot mentes (stateless) a kommunikacio ami egy tipikus szerver kornyezetben sok galibat okoz. Scale out, load balancing mind nem megy, raadasul ha lassu a tavoli esemenyek vegrehajtasa (tulterhelt a szerver, lassu halo stb.) akkor a threadpool-odat is leszivhatja amibe ecceruen beledoglik a kliens.
Remoting masik nagy problemaja, hogy elvarja a framework jelenletet a kliensen is ami feladattol fuggoen lehet, hogy eleg szigoru feltetel. Remoting erossege a AppDomain-ek es Processek kozotti kommunkacio, ott viszont nagyon kiraly. -
gyuri10
tag
válasz
andriscs
#235
üzenetére
public event MyEventHandler myEvent;
ez a sor egy MyEventHandler tipusu mezot hoz letre ami alapbol null. Ezt is irhattad volna, pont ugyanazt csinalja:
public event MyEventHandler myEvent = null;
A kodreszletben semmi nincs ami ezen valtoztatna. Egyetlen esemenykezelo metodusod sincs (amely megfelel a MyEventHandler delegate mintajanak) amit raakaszthatnal az eventre. Magyarul nem adtal meg semmit amit visszakene hivni, tehat a myEvent mezo null maradt.
Tegyuk fel, hogy van egy masik class-od:
public class MyEventHandlerClass
{
// Ennek a signature-je egyezik a te delegate-ddel, tehat hozzaadhatjuk az event-edhez.
private void MyEventHandlerMethod(object sender, MyEventArgs args)
{
...
}
}
...
MyEventHandlerClass myEventHandlerClass = new MyEventHandlerClass();
andriscsClass.myEvent += myEnventHandlerClass.MyEventHandlerMethod;
andriscsClass.raiseEvent();
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AMD off topik: VGA, CPU, APU és minden, ami AMD
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Android alkalmazások - szoftver kibeszélő topik
- PlayStation 5
- Ilyen olcsó sem volt még egy Apple notebook
- Projektor topic
- Yettel topik
- World of Tanks - MMO
- Soundbar, soundplate, hangprojektor
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Sosemhasznált! HP OmniBook 5 Flip i5-1334U 16GB 1000GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- MSI Modern 15 Ryzen 7 7730U 16 GB RAM 512 GB SSD FHD IPS
- Konzol felvásárlás!! Xbox Series S, Xbox Series X
- Dell Precision 7750,17.3" FHD,i7-10875H,32GB DDR4,256GB SSD,RTX 3000 6GB VGA,WIN11
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Vagy metodust new-zol?
