- Házimozi haladó szinten
- Milyen egeret válasszak?
- Vezetékes FEJhallgatók
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- Bluetooth hangszórók
- Milyen billentyűzetet vegyek?
- HP notebook topic
- 5.1, 7.1 és gamer fejhallgatók
- Azonnali VGA-s kérdések órája
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
Ú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!
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Házimozi haladó szinten
- Milyen egeret válasszak?
- Autós topik
- Gitáros topic
- Viccrovat
- Macska topik
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Vezetékes FEJhallgatók
- Kerékpárosok, bringások ide!
- További aktív témák...
- Apple iPhone 13 128GB / Kártyafüggetlen 1ÉV GARANCIÁVAL
- BESZÁMÍTÁS! Asus A520 R5 3600 16GB DDR4 500GB SSD RTX 2060 8GB Rampage SHIVA CoolerMaster 700W
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Prémium felsőkategóriás Gamer PC! X870 / R9 9950X / 9070XT / 64GB DDR5
- BESZÁMÍTÁS! MSI B450M R7 2700X 32GB DDR4 512GB SSD RTX 3050 8GB Rampage SHIVA Thermaltake 500W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest