Ú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!
- NFL és amerikai futball topik - Spoiler veszély!
- Samsung Galaxy S21 FE 5G - utóirat
- UHD filmek lejátszása
- Újabb koronát kapott a Gigabyte alaplapja
- A középkategória egyik legjobb vétele - Dreame L40 Ultra AE
- Elemlámpa, zseblámpa
- Arc Raiders
- Pánik a memóriapiacon
- Xiaomi 15T Pro - a téma nincs lezárva
- LEGO klub
- További aktív témák...
- Bomba ár! Lenovo ThinkPad L13 G1i - i5-10GEN I 8GB I 256SSD I 13,3" FHD I HDMI I W11 I Cam I Gar
- Bomba ár! Lenovo ThinkPad L390 - i5-8GEN I 8GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Lenovo ThinkPad X1 Carbon Gen 9 i7-1185G7 32 GB RAM Iris Xe 4k kijelző törésgarancia
- Bomba ár! Lenovo ThinkPad X13 G1- i5-10310U I 16GB I 256SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- Eladó Denon 4400h
- 8Gb DDR3L 1,35V 12800u 1600Mhz RAM-ok, több db
- HIBÁTLAN iPhone 15 Plus 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS4045, 100% Akkumulátor
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090 - 3 év garancia
- TELJES KÖRŰ IT BESZERZÉS
- iKing.Hu - HONOR 400 Lite 5G Velvet Grey Vékony, könnyű, AI-kameragomb 8/256 GB- 2027. 07. 01
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
Vagy metodust new-zol?

