Ú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
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Mesterséges intelligencia topik
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Linux kezdőknek
- Asztalos klub
- Autós topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Bambu Lab 3D nyomtatók
- Fotók, videók mobillal
- Kompakt vízhűtés
- További aktív témák...
- Apple iPhone 13 Pro , 128GB , Kártyafüggetlen
- ÚJ- Lenovo ThinkVision T24i-10 - 24" monitor - Számla, garancia
- Bomba ár! HP Elitebook 850 G3 - i7-6GEN I 16GB I 256GB SSD I RadeonI 15,6" FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged