Hirdetés
- Távozik az Apple vezérigazgatója
- iPhone topik
- Mobil flották
- One mobilszolgáltatások
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xiaomi 14 - párátlanul jó lehetne
- Google Pixel topik
- Samsung Galaxy A57 - kecses test, lusta lélek
- OnePlus 15 - van plusz energia
Ú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!
- Autós topik
- Battlefield 6
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- XMLTV EPG letöltő progi
- Graphics: Telefonvásárlási kálváriám....
- Távozik az Apple vezérigazgatója
- Régi CPU újrakiadásával ünnepelné a Socket AM4 tizedik évfordulóját az AMD
- Luck Dragon: Asszociációs játék. :)
- Gitáros topic
- Feltörték a regisztrációmat vagy elvesztettem a belépési emailcímet, 2FA-t
- További aktív témák...
- Samsung Galaxy S9 - 64GB Fekete
- Samsung Galaxy S23 256GB,Újszerű,Adatkabel,12 hónap garanciával
- ThinkPad P1 Gen6 16" QHD+ IPS i9-13900H RTX 2000 Ada 32GB 1TB NVMe ujjolv IR kam gar
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 5 5600XT / RTX 5060 / 16GB DDR4 / 1TB SSD!
- Xiaomi Redmi Note 14 Pro 256GB,Újszerű,Adatkabel,12 hónap garanciával
- 27% - Samsung S27D360GAU VA Monitor! 100Hz / 1920x1080 / 4ms
- AKCIÓ! Endgame Gear & Xtrfy gamer egerek /MZ1/OP1 8K/XM2we/XM1R/XM1 RGB (fehér/fekete/lila)/
- Lenovo X280 12" - i7 8550U, 16GB RAM, 256-512GB SSD, jó akku - számla, 6 hó gar
- AKCIÓ! Intel Core i5 8500 6 mag 6 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Gigabyte M32U Arm Edition 31,5 144Hz IPS 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Vagy metodust new-zol?

