- Honor Magic7 Pro - kifinomult, költséges képalkotás
- iPhone topik
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Google Pixel topik
- Poco M3 - felújított állomás
- Térerő gondok, tapasztalatok
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen okostelefont vegyek?
- Honor Magic6 Pro - kör közepén számok
- One mobilszolgáltatások
Új hozzászólás Aktív témák
-
-
martonx
veterán
"Asp.net+web forms-szal lenne összerakva egy honlap" - heh, és ezt így 2019 legvégén?
Azureban teljesen ingyen lehet futtatni Asp.Net MVC-t, Asp.Net Core-t, de tudtommal az ősi, rég elavult Asp.Net Web Forms-hoz saját VM kell, az meg valóban zsebbe nyúlós (akár havi 40 EUR is lehet, ami szvsz amúgy szinte ingyen van, ha már őskövület futtatása a cél).
-
joysefke
veterán
Regisztrálsz ingyen egy accot Azure -ra. Azt hiszem kapsz még valamennyi kreditet -talán 200$-t- amit 30 nap alatt lehasználhatsz. Kredittől függetlenül meg tudod nézni, ki tudod próbálni, hogy hogyan működik.
Nem teljesen értem, hogyan kapcsolódik a ASP.NET+web forms-hoz.
Web formssal nem próbáltam (Csak ASP NET Core appal). Alapvetően úgy működik, hogy mondjuk Visual Studioból feltöltöd az appodat egy Azure AppService konténerbe (ez egy opció) azt minimálisan bekonfigurálod és működik. Igen, ez az Azure valamelyik adatközpontjában fog futni.Kis időbefektetéssel el tudsz jutni egy olyan pontra, hogy lásd működik-e, és hogy mennyibe fog kerülni. Jobban jársz ha te magad próbálod ki, minthogy távolról próbálod megszakérteni.
-
mdk01
addikt
Sziasztok,
Beírtam a tárhelyes topikba, de megkérdezem itt is hátha itt hamarabb kapok rá választ.
Asp.net+web forms-szal lenne összerakva egy honlap és érdeklődnék hogy ezek futtatásához ismer e valaki tárhelyszolgáltatót?
Jelenleg a tárhely.hu-n van előfizu, de ők nem tudják futtatni, C#-ot.
Köszi -
Keem1
veterán
válasz
norbyy12 #8987 üzenetére
Én kicsit csodálkozva nézem az ilyen kérdéseket.
Mi a 40 perces programozás vizsgán nem tudtuk volna beírni fórumba (örültünk, ha ez az idő magára a feladatra elég lesz), másrészt 15 évvel ezelőtt habár már volt internet, de a vizsga idejére a gépeket megfosztották tőle a gépteremben
Tudom, okostelefon, de akkor is.
-
norbyy12
friss újonc
Sziasztok. Valaki tudna segíteni elindulni egy vizsgafeladattal kapcsolatban?
-
zsolti_20
senior tag
Sziasztok! Lehetseges olyan programot irni ami kepes leolvasni es szovegge alakitani a kepernyot lathato dolgokat?
Pl van egy alkalmazas ahol azt latom hogy "hat". A program kepes felismerni es leolvasni hogy oda az van irva hogy hat es szovegge konvertalja szamomra.
-
bandi0000
nagyúr
Ugye van egy beépített Identity framework, olvastam a doksit, hogy mit tud, látom OAuth2-őt használ stb
Ez túl szép, hogy igaz legyen... Így elsőre egész jól használhatónak tűnik és ha jól értelmezem akkor igazából mindent tartalmaz ami szükséges az Authentication illetve Authorization-hoz.
Ezt használják real word app-ban is ?
-
bandi0000
nagyúr
válasz
martonx #8975 üzenetére
igazából ugyan az
Migrációban le van írva, hogy mi mit váltott
De a működése úgy volt a 2.2-ben, hogyha csak az app.UseMvc() volt meghívva, útvonal infók nélkül, akkor nem lehetett elérni "manuálisan" a végpontokat, csak ha az egyes controllerek, és metódusaik fel voltak paraméterezve attribútummal, viszont ha így lett megadva:
app.UseMvc(routes =>
{
routes.MapRoute("default","{Controller="Home"}/{action = index}/{id}");}
);
Akkor innentől kezdve működött a controllerName/methodName a böngészőben ,és attributum nélkül elérhetőek voltak a függvények
Az új verzióba csak ez a változat van :
/*app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=index}/{id?}");
});*/
Most találtam egy olyat, hogy lehet használni a UseMvc()-t, ha a configService-ben kikapcsolom a routingját
services.AddMvc(option => option.EnableEndpointRouting = false);
De ez olyan toldozgatás foltozgatásnak tűnik, egy olyan egyszerű dolognál, hogy csak az attributumokat használhassam
Bocs lehet én agyalom túl ezt a kérdést, sőt biztos is, csupán érdekelne hogy miért csinálták így
-
bandi0000
nagyúr
Na még a routingnál maradva
Ha csak attributum routingot szeretnék használni, akkor arra van lehetőség? Tutorialba nyilván az app.UseMvc() sor megoldotta ezt, de itt a 3.x nél ez le lett cserélve
Lehet én siklok el valami felett, de convention routing már "alap"? a 3.x verzióban és nincs lehetőség csak attributum alapút használni?
Azt látom, hogyha egy függvényre rádobom az attributum routingot akkor azt onnantól már nem érem el simán a controller/method felépítéssel
Amúgy melyiket érdemes használni? Így elsőre nekem az attributum látszik jobbnak, nyilván a másik egyszerűbb, de pl Springbe is hasonlóan kellett megadni minden egyes metódushoz
-
-
bandi0000
nagyúr
válasz
martonx #8971 üzenetére
igen ezt néztem én is, enyém is most per pill ilyen
Elvileg úgy érném el az adott Controllert, hogy localhost.../ControllerName/MethodName nem?
Most létrehoztam egy MVC projektet, abba services.AddControllersWithViews(); ezt haszálja és így hívja
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Lehet akkor ezzel lehet csak hívni, ha tartozik hozzá View is, mindenesetre ránézek akkor hátha
petyus_: Köszi, közben rájöttem... lesz itt még szenvedés úgy érzem
-
martonx
veterán
válasz
bandi0000 #8970 üzenetére
A doksi nem segít? https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.1&tabs=visual-studio
Nekem 3.1-el még csak egy projektem fut, abban így van beállítva a routing:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});De ez egy API app, nincsenek View-jai, csak Controllerek.
-
bandi0000
nagyúr
Egy kis segítséget szeretnék kérni ASP .NET Core-hoz
Találtam egy jónak tűnő tutorialt, viszont a 2.2 verziót használja, így jött az ötlet, hogy nyilván ha már van 3.1 akkor azzal kezdem el, és majd útközben frissítem amit kell
De már az elején elakadtam, a tutorialba annyit tett, hogy üres projektet hozott létre a core-on belül
hozzáadott egy Controllers mappát azon belül pedig egy HomeController osztályt abba 1 fv ami egy stringgel tér vissza
A startup osztályba pedig a confighoz adta az AddMVC-t és middlewarekhez pedig a UseMvcWithDefaultRoute-ot, na már most ez így a 3.x verzióban nem életképes, mert az AddMVC helyett az AddRazorPages()-t kell használni
+ még ez lett hozzáadva a middlewarek közé:
app.UseRouting();
app.UseStaticFiles();
app.UseEndpoints(endpoints => {
endpoints.MapRazorPages();
});
Viszont így csak annyit ír ki futáskor, hogy ez a localhost oldal nem található
Valszeg nem nagy hiba, de így az elején nem tudom merre induljak neki
-
sztanozs
veterán
válasz
zsolti_20 #8967 üzenetére
Volt régen a Visual C++ mellé valami spy tool, amivel hozzá lehetett férni (megfelelő jogokkal) egy idegen ablak tetszőleges form-kontrolljának az attribútumaihoz (többek között a Label vagy Text property aktuális értékéhez). de ott kézzel kellett kijelölni a formot és a kontroll-t.
-
dqdb
nagyúr
-
dqdb
nagyúr
válasz
zsolti_20 #8960 üzenetére
Ha a második program az elsőt indítja, akkor sima output átirányítással megoldható a ProcessStartInfo megfelelő paraméterezésével. Ha nem, és PID vagy .exe neve alapján kell megkeresni az ablakát, akkor szintén megoldható, de ehhez kell egy jó adag P/Invoke. Ha ugyanabban a parancssorban egymás után indítod el, akkor szintén megoldható.
-
zsolti_20
senior tag
Üdv emberek!
Lehetséges olyasmit alkotni, hogy egy programban lévő értéket képes kiolvasni? Hogy nagyon le egyszerűsítsem, olyasmire gondolok, hogy írok egy programot ezzel a két sorral:
Console.WriteLine("6");
Console.ReadKey();
És egy második programmal az első programot betallózom, hogy képes legyek kiolvasni a 6-os értéket. -
fatal`
titán
-
Keem1
veterán
Skacok, bizonyára már észrevettétek, hogy ugyan nem vagyok programozó, de a munkahelyemen a kolléganők életének megkönnyítésére kis toolokat készítek. Az alábbi kérdésre bár a választ sejtem, de azért egy A vagy B választ szeretnék kérni
Lenne egy windows service, ami baromi egyszerű: ha épp fut, akkor bizonyos paramétereket/adatokat (lokálisan és XMLRP service-ből) gyűjtve utána az adott alkalmazottnak kipattintja egy fancy e-mail formájában. Ok: ne neki kelljen összekotorni, plusz ők jobban emésztik a csini kis e-mailecskéket.
Tudom-e egyetlen applikációban összegyúrni a service-t és a pár adat bekérésére/módosítására szolgáló winformot (ezt mondjuk first run is feldobná, ahol e-mail cím, meg adott esetben a frissítési gyakoriság felülbírálása lenne - adatok a registryben).
A.) Igen, ez működik egy appon belül
B.) Francokat, csináld meg külön, ez nem lehetségesKöszi!
Ps.: eredetileg egy task schedulerrel időnként elindított console appra gondoltam, ami nyilván kézzel futtatva a paraméterek bizgerálására lenne jó, de szerintem hülyét kapnak a console felülettől, másrészt nem lenne jó, ha időnként feljönne (és abban a pillanatban el is tűnne) a console felülete.
-
disy68
aktív tag
válasz
kw3v865 #8952 üzenetére
Indítsd el csupán a parancssort, aztán abban indítsd el a cli alkalmazást a standard input-ra írva. A végén a cmd-ből egy exit-el kiléphetsz, amikor szeretnél.
var startInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
var process = new Process {StartInfo = startInfo};
process.Start();
process.StandardInput.WriteLine(@"dir>c:\results.txt");
process.StandardInput.WriteLine(@"dir>c:\results2.txt");
process.StandardInput.WriteLine("exit");
process.WaitForExit(); -
Keem1
veterán
válasz
kw3v865 #8952 üzenetére
Ha jól értem a kérdést (a külső program, és nem az általad írt záródik be), akkor ez nem a te applikációdban keresendő probléma. A CLI appok nagy része a program futását követően terminál, ahogy lefutott a kód. Cmd-ben indítva azért nem, mert a cmd-t kapod vissza, de ugyanúgy kilép maga a program, és visszakapod a promptot. Az appban, ha a vége user interakció (pl. "press any key"), akkor nyilván ott marad bezárásig vagy az user input teljesüléséig.
A lineáris CLI appok mind így működnek.Elvileg lehetséges nem külső processzként futtatni, de erről inkább a topiktársak tudnak infót adni, én ugyanis nem tudom.
-
kw3v865
senior tag
Sziasztok!
C#-ban egy tök egyszerű Windowsos alkalmazáról van szó (egyelőre), melyben egy gombnyomásra futtat egy külső alkalmazást.
A problémám a következő: a futtatni kívánt alkalmazás elindul, de azonnal be is záródik az ablaka. A környezeti változókban benne van, tehát ha nyitok egy CMD-t, és onnan indítom, akkor minden rendben megy.A konzolban ezt írja:
System.Diagnostics.ProcessStartInfo
ID: 5716 - Name: ogr2ogrTehát elvileg elindul, sőt egy pillanatra fel is villan, de nekem ez nem elég. Rendesen meg kellene nyílnia az ablaknak, hogy csak a felhasználó zárhassa be. Ha a p.FileName-et átírom notepad.exe-re, akkor tökéletesen működik, csak az ilyen parancssoros alkalmazásokkal van gond..
Szerintetek hogyan lehetne ezt megvalósítani, hogy úgy viselkedjen, mintha a parancssorból indítottam volna el?
Így néz ki a kódom jelenleg (az egyszerűség kedvéért csak a lényeg):
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hwc, IntPtr hwp);
private void button1_Click(object sender, EventArgs e)
{
Process p = new Process();
try
{
p.StartInfo.FileName = "ogr2ogr";
p.Start();
Console.WriteLine(p.StartInfo);
Console.WriteLine("ID: {0} - Name: {1}",p.Id,p.ProcessName);
p.WaitForExit();
}
catch(Exception ex)
{
Console.WriteLine("Error"+ex.Message);
}
}
}
-
Keem1
veterán
válasz
RedHarlow #8949 üzenetére
Objektumorientált paradigma megvan?
Lokális változót nem fogsz tudni kívülről használni (ahogy ciklusváltozót se cikluson kívül), így a fentebb említett osztályváltozó lesz a te embered.
Lehet hogy létezik rá favágó megoldás (joysefke köszi a kifejezést), de arról én nem tudok és nem is akarok tudni.
-
RedHarlow
aktív tag
Sziasztok,
A private void Button1_Click(object sender, EventArgs e) alatt létrehozott változóimat és listáimat, hogy tudom legszebben átvinni Button2_Click alá? Illetve tudtok esetleg egy linket adni ahol utánanézhetek, hogy milyen lehetőségek vannak.
Előre is köszönöm a segítséget.
-
joysefke
veterán
válasz
FurrierX #8944 üzenetére
Ha ez a félévi házi, akkor megérdemelheti, hogy seggelj rajta 1-2 napot.
A három vonalnak vagy egyetlen közös állomása, vagy pedig az 1.-2.-nak és a 2.-3.-nak külön átszállási helye van
A feladatleírás segít: kétféle topológia lehetséges (nem mintha általánosan nem lehetne megoldani -Dijkstra-).
Az adatok alapján eldöntöd, hogy a kettő közül melyik a tényleges topológia. Innentől kezdve tied a döntés, hogy szép vagy favágó megoldást adsz a feladatra:
A szép megoldás az lenne, ha felépítenél egy gráfot amit a vonalakat modellezi majd ezen a cél és a kezdőállomás között megkeresnéd a legjobb (mivel a feladat szerint ez körmentes ezért egyetlen) utat, a szükséges plusz infókat (átszállás) pedig a gráfból útkeresés közben nyernéd ki...
A favágó megoldás pedig az, ha mindkét lehetséges topológiához (csillag és metsző) elkészíted a logikát (csomó if-else) ami a topológia, vonalak és állomásnevek ismeretében megmondja, hogy melyik vonalról melyik vonalra hol fogsz átszállni.
-
válasz
FurrierX #8944 üzenetére
Gyorsan atfutottam, utas osztaly szerintem nem feltetlenul kell neked, inkabb olyasmiben gondolkodj, hogy lesz mondjuk egy BKK/MetroOwner osztalyod, aminek mondjuk van egy MetroLines kollekcioja, ebben a kollekcioban vannak mondjuk MetroLine objektumok, melyek allomasokbol epulnek fel. Igy a MetroOwner osztaly tudni fog az osszes MetroLine-rol es lehet rajta olyan metodus ami ki tudja szolgalni az "utasodat"
-
FurrierX
csendes tag
Egy nagyvárosban 3 (földalatti) metróvonal található, s mindegyiken sok-sok állomás. A három vonalnak vagy egyetlen közös állomása, vagy pedig az 1.-2.-nak és a 2.-3.-nak külön átszállási helye van. Egy külföldi turista áll az egyik metróállomáson, s egy másik metróállomásra akar eljutni. Készítsen programot, amely beolvassa e két állomás nevét, majd megmondja, hogy a turistának az induló állomásról milyen irányba (melyik végállomás felé) hány megállót kell utaznia, s ha át kell szállnia, akkor ezt az átszállás előtti, illetve utáni metróvonalra is megadja. A létező metróállomások nevét megtalálhatod a METRO.DAT állományban. (Az állományban soronként 1 adat szerepel, először az 1. vonal állomásainak száma, majd egyesével az állomások neve, utána a 2. vonal állomásainak száma, stb. ...) Az átszállóhely(ek) a közös név alapján ismerhető(k) fel.
Ez a feladat szövege. Beolvastam a fájlból az adatokat 3 külön string tömbbe. Csináltam egy Metrovonal osztályt amit a három tömbbel példányosítottam, így van három objektumom. Végül pedig a felszálló és leszálló állomás miatt csináltam egy Utas osztályt. A problémám pedig ott van, hogy ezeket, hogy tudnám összehozni, hogy megadják a kért információkat. pl: a metróvonalak között, hogy tudnék kapcsolatot teremteni(főleg, ha mind a három tömböt használni kell)? -
Ablakos
őstag
Van egy solution (VS), amiben az elso project namespace -t nem látja a solutionhoz adott második (test) project. Sem usinggal, sem közvetlen hivatkozással. Hogy lehet ezt megoldani?
-
csorbinorbi
friss újonc
Köszi a választ, így már sikerült megoldani így a dolgot.
@martonx
raktam zárójelet (más nem próbálkozásból fenti példám alapján), de az sem segített.
a konkrét gépen elég régi visual studio van (asszem 2008) és másikat nem lehet rátenni, nem lehet USB-ről rátenni semmit, stbstb. amolyan célgép ami már kb 8-9 éve szinte egyhuzamban megy -
fatal`
titán
válasz
csorbinorbi #8934 üzenetére
Akkor lehet hogy régi C# verziót használsz. Használd akkor a string.formatot az eredeti példából.
-
csorbinorbi
friss újonc
Először is köszi a gyors választ!
A textboxot már előtte felraktam, az nem volt gond, csak a tartalommal megtöltés
viszont ezzel a megoldással a beszútr sorra hibát dob...
Unexpected character '$'
Newline in constantBocsi, ha ezek nagyon alap dolgok, de C# eddig nekem nagyon kiesett az életemből
-
fatal`
titán
válasz
csorbinorbi #8932 üzenetére
Tegyél fel egy TextBoxot a formra és
TextBox.Text = $"{sProcessName} is running!;
vagyTextBox.Text = $"{sProcessName}
is not running!; -
csorbinorbi
friss újonc
Sziasztok!
Előrevetítem, hogy én és a programozás eléggé távol állunk egymástól, de most megis kénytelen vagyok készíteni egy aprócska programot.
A lényeg, hogy egy háttérben futó windows programot kellene gombnyomásra ellenőriznem. Már találtam egy megoldást ami lentebb található, viszont nekem nem popup ablakban kellene, hogy mejelenjen, hanem egy Textbox-ban...valaki tudna segíteni,, hogy hogyan is tudnám megoldani ezt a dolgot?
Köszönöm!!!!!!!
private void button1_Click(object sender, EventArgs e)
{
IsProcessRunning("notepad");
}
private void IsProcessRunning(string sProcessName)
{
System.Diagnostics.Process[] proc = System.Diagnostics.Process.GetProcessesByName(sProcessName);
if (proc.Length > 0)
{
MessageBox.Show(String.Format("{0} is running!", sProcessName), sProcessName);
}
else
{
MessageBox.Show(String.Format("{0} is not running!", sProcessName), sProcessName);
// start your process
}
}
-
Dinter
addikt
válasz
BTminishop #8930 üzenetére
igen-igen, tesztelés során kibukott és átírtam.
-
dqdb
nagyúr
a command.CommandText nem a behelyettesített értéket adja vissza
Az a property a beállított parancsot adja vissza, amiben paraméterek szerepelnek konkrét értékek helyett. A paraméterek behelyettesítése a szerveren fog megtörténni a már parse-olt SQL parancs felhasználásával, így a komplett parancs olyan szöveges formában, ahogyan te szeretted volna, sosem létezik. -
sztanozs
veterán
-
Dinter
addikt
Köszi, végül kiszenvedtem. A nullnál az lett volna a lényeg, hogy önmagával hasonlítom össze az oszlopot, ami mindig igaz, így megspórolok egy sor sql-t, de végül különszedtem és csak elhagyom a where-t.
Kingabo: a technológia adott volt a feladathoz, így muszáj volt ezt használnom.
-
fatal`
titán
Így azt küldöd be az SqlQuerynek hogy 't.Nev' mint érték (stringként), arra meg gondolom nem talál rekordot.
Ez paraméterrel nem működik (így nem lenne értelme a paraméternek), különben így lehetne SQL Injectiont csinálni.
NULL-ra meg egyébként sem működik, mert a WHERE x = NULL feltétel az mindig hamis lesz, ilyenkor az IS NULL-t kell használni SQL-ben.
-
sztanozs
veterán
lehet, hogy aposztroffal együtt van letárolva a név a mezőben.
Amúgy szerintem így nem működik a null értékre. Az sql query nem az lesz, hogySELECT t.ID, t.Nev, t.NettoAr, t.Raktarkeszlet, a.Kulcs, k.Nev as Kategoria FROM Termek t LEFT OUTER JOIN AFA a on t.AFAID = a.ID LEFT OUTER JOIN Kategoria k on t.ID = k.ID WHERE t.Nev = t.Nev
hanemSELECT t.ID, t.Nev, t.NettoAr, t.Raktarkeszlet, a.Kulcs, k.Nev as Kategoria FROM Termek t LEFT OUTER JOIN AFA a on t.AFAID = a.ID LEFT OUTER JOIN Kategoria k on t.ID = k.ID WHERE t.Nev = "t.Nev"
-
Dinter
addikt
Sziasztok.
Biztos valami apró hülyeség, amit nem veszek észre... de miért nem helyettesíti be így a paramétert?
SqlCommand command = new SqlCommand("SELECT t.ID, t.Nev, t.NettoAr, t.Raktarkeszlet, a.Kulcs, k.Nev as Kategoria FROM Termek t LEFT OUTER JOIN AFA a on t.AFAID = a.ID LEFT OUTER JOIN Kategoria k on t.ID = k.ID WHERE t.Nev = @Nev", conn);
var parameter = new SqlParameter();
parameter.ParameterName = "@Nev";
parameter.SqlDbType = SqlDbType.NVarChar;
parameter.Value = name;
if (name == null) parameter.Value = "t.Nev";
else parameter.Value = "'" + name + "'";
command.Parameters.Add(parameter);
-
kkdesign
senior tag
Sziasztok!
A Szakdolgozatommal kapcsolatosan szeretnék kérdezni tőletek.
C# WPFben gondolkodom, MS SQLes adatbázis motorral. Egy raktárkezelő programról lenne szó. Jelenleg ott tartok, hogy ötletelek az adatbázison, a funkionalitásokon, még a kinézeten is, amit arról tudok, hogy modern ui-ra akarom építeni. Egy kezdőlapban gondolkodom, s annak a bal oldalán szendvicsmenüben a menügombok, jobb oldalt pedig Chartok lennének.
Próbálok utána nézni, hogy egy szakdolgozathoz is felhasználható segédrendszert bevessek, például a devexpresst használnak környezetemben, de nemn tudom az personal use-ra mennyire ingyenes vagy van e olyan fajtája. a Nu-get-ben megtaláltam, de nem tudom mennyire merjem használni... Tudtok ebben segíteni, hogy egy olyan kiegészítő amiben vannak chartok is, és modern is, arra mit használjak? középszintű okj a feladat szintje tehát nem kell piacra szánt termék szintű programra gondolni -
dqdb
nagyúr
válasz
RedHarlow #8917 üzenetére
Valami ilyesmi kellene neked fapados megvalósítással:
var delayBetweenRetries = 30 * 1000;
var maxRetries = 3;
var retryCount = 0;
var expectedFileCount = GetExpectedRemoteFileCount();
var actualFileCount = 0;
for (;;)
{
var fileCount = GetRemoteFileCount();
if (fileCount > expectedFileCount)
{
throw new TooManyRemoteFilesException();
}
else if (fileCount == expectedFileCount)
{
break;
}
else if (fileCount == actualFileCount)
{
if (++retryCount > maxRetries)
throw new TooManyRetriesException();
}
else if (fileCount > actualFileCount)
{
retryCount = 0;
actualFileCount = fileCount;
}
else
{
throw new RemoteFileCountMismatchException();
}
Thread.Sleep(delayBetweenRetries);
}Ha a távoli szerveren drága az exportálás és az SCP kapcsolat szeret megszakadni, akkor érdemes úgy megírni a
GetRemoteFileCount()
metódust, hogy az kezelje a kapcsolat újraépítését. És persze nem árt a fájlok számának figyelése mellett a tartalmukat is ellenőrizni később.Ha sokkal bonyolultabb hibatűrést megvalósító esetek is előfordulhatnak, akkor a Polly library az egyik legjobb arra a célra, hogy ne kelljen minden távoli hívásnál/lekérdezésnél 30-50 soros logikát megírni.
-
RedHarlow
aktív tag
Sziasztok,
Van egy kis programom ami a winscp kereteivel segít feltölteni egy fájlt egy távoli szerverre, a feltöltés után az oracle beadarálja és elkezd generálni több száz xml-t egy mappába. A betöltés akkor sikeres ha a PROCESSED mappába legenerálódik az összes xml (néhány esetben ez akár 1000 db xml is, és akár 3 perc-5 perc is lehet mire végez), az ERROR mappába pedig semmi.
Tudna segíteni valaki megírni egy olyan for ciklust ami 30 másodpercenként lekéri a mappában található xml-ek számát, összehasonlítja azt az eredeti xml-ből már előre kinyert számmal és amennyiben nem egyezik úgy 30 másodperc múlva újra megszámolja a mappában található xml-ek számát. Ha egyezik a száma akkor minden oké volt, viszont ha 3x egymás után nem növekszik az xml-ek száma és nem érte el az xml-ből kinyert értéket akkor az azt jelenti, hogy leállt a generálás és az egész folyamatot újra kell kezdeni.
//Megszámolja a countlist mappában lévő xml-eketint filecount =
session.EnumerateRemoteFiles(CountList[i], "*.xml", EnumerationOptions.None).Count();
counts = Convert.ToString(filecount);
-
dqdb
nagyúr
Rosszul közelíted meg a dolgokat.
Konzolos alkalmazás háromféle módon indulhat el Windows alatt:
1. egy másik konzolos alkalmazásból
2. egy másik konzolos alkalmazásból kimenetet és esetleg bemenetet átirányítva
3. nem konzolos alkalmazásbólAz első esetben az alkalmazásod a hívó alkalmazás ablakát örökli meg az ott beállított mérettel, historyval és színekkel, ezt általában nem illik* felülbírálni kódból, mert te ott vendég vagy.
A második esetben az előző annyival bővül, hogy a sima
Console.WriteLine
hívások a képernyőre ki sem kerülnek, szóval itt a hívó ablakának beállításait kódból nemcsak nem illik felülbírálni, de értelmetlen is. Ezt az esetet aConsole.IsOutputRedirected
propertyvel tudod érzékelni.A harmadik esetben a Windows megnézi, hogy az adott elérési úttal rendelkező alkalmazáshoz van-e beállítva alapértelmezett ablakméret/betűtípus/szín/stb. Ha igen, akkor azokkal indítja el az alkalmazásodat, egyébként a cmd.exe-hez tartozó alapbeállításokkal. Ekkor a kapott méreteket és egyéb beállításokat felül lehet bírálni kódból, de általában felesleges és nem szerencsés*, mert ezzel elveszed a felhasználó elől a saját igényeinek megfelelő beállítás alkalmazását. A legjobb megoldás vagy egy megfelelően felparaméterezett shortcut készítése, vagy futó alkalmazás mellett az ablakához tartozó menüben (fejléc bal oldalán lévő ikonra kattintva Defaults) átállítani, és onnantól kezdve az ott megadott értékekkel fog indulni az alkalmazás (egy adott konfigurációhoz egyszer kell beállítani VS-ből indítva, és onnantól kezdve mindig úgy fog elindulni).
* ha az alkalmazásod sima szövegkiíratás helyett valami ncurses-szerű szöveges UI-jal rendelkezik, aminek például a historyban görgetés keresztbe tesz, akkor ott természetesen kódból mindig olyanra be kell állítani az ablakot, amilyenhez a UI tervezve van (de itt is érdemes úgy megoldani a dolgokat, ha lehetséges, hogy a felhasználó által beállított ablakmérethez igazodjon a felület, mint például a FAR Manager esetében)
-
mdk01
addikt
Sziasztok,
SZeretném megkérdezni, hogy hogyan tudok ezres csoportosítást/tagolást csinálni?
Neten kb. semmit nem találtam, angolul sem találtam meg de lehet rossz szavakra kerestem.
3000000----->3 000 000Köszönöm
-
boorit
csendes tag
Sziasztok!
ASP.NET Core-ban írtam egy web app-ot, ezt szeretném most hostolni, kérdés hogy hol. Elég sok ajánlatot átnéztem az elmúlt napokban, de nem nagyon tudok dönteni, azért kérdezem itt, mert biztos van köztetek akinek van már tapasztalata ilyesmivel.
Nem lesz nagy forgalma, pár ember fogja használni, jelenleg MS SQL db-t használok, de lehet, hogy váltok SQLite-ra, úgyhogy akár DB nélküli host is jöhet. Ami fontos lenne, szeretnék saját domaint, és SSL-t hozzá (ezért esik ki az Azure, ha jól rémlik ez ott csak a Basic csomagtól van, az meg ~€50/hó, és közel sem használnám ki).
-
joysefke
veterán
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
We’re excited to announce the release of .NET Core 3.0. It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async streams, and more patterns. F# 4.7 is included, and focused on relaxing syntax and targeting .NET Standard 2.0.
.....
ASP.NET Core 3.0 and EF Core 3.0 are also releasing today.
Visual Studio 2019 16.3 and Visual Studio for Mac 8.3 were also released today and are required update to use .NET Core 3.0 with Visual Studio..NET Core 3.0 is part of these new Visual Studio versions. You can just get .NET Core by simply upgrading Visual Studio.
Sűrűek lehettek az utóbbi hetek Redmondban -
leslie23
tag
válasz
joysefke #8903 üzenetére
"Amiről beszélsz az egy extrém példa és azt feltételezi, hogy a munkafolyamatnak az adott "nem hivatalos" tool megkerülhetetlenül része lett, de szupport stb érdemben nem létezik rá. Tehát a valós munkafolyamat észrevétlenül(?) már annyira módosult, hogy a hivatalosan létező eszközökkel nem végezhető el (lol)."
ez itt a kulcskérdés, szerintem. jelenleg a saját irodai munkafolyamatainkat három fronton támadom:
1.) VSTO Add-ins: Outlookban, illetve Excelben néhány lépésből álló műveletek vannak összefűzve 1-1 custom gomb mögött a toolbaron. O365-tel tökéletesen működnek, de tegyük fel, hogy 1-2 éven belül jön egy frissítés, ami hazavágja őket és én már nem leszek itt. Egyszerűen törölni kell a bővítményeket és lehet csinálni úgy, ahogy korábban is ment, nincs szignifikáns különbség még csak időben sem, maximum egy picit bosszantóbb a feladat.
Bár az valóban gáz, amit sztanozs említett az ingyenes VS-sel kapcsolatban...
2.) AHK scriptek grafikus felülettel, exe-be fordítva, célszoftverek GUI-automatizációjának céljából. Itt is potenciális veszély, hogy a szoftver következő verziójában már eltérő lesz az ablakok vagy a menük felépítése, ergo használhatatlanná válnak a scriptek.
Ha így lesz, akkor ejteni kell az AHK-t, és manuálisan dolgozni, de minden feladat tökéletesen elvégezhető így is. Napi 5-10 perc intenzív kattintgatásról van szó, de ugyebár időveszteség nincs, hiszen az AHK sem gyorsabb, csak így nem szárad le az ember ujja a már a 15. másodpercben...
3.) VBA makrók - jelentések generálása, továbbítása Outlookon keresztül, illetve adathalmazok gyors átvizsgálása, fals adatok keresése.
Ha gikszer van, továbbra is minden elvégezhető manuálisan, a számolások és formázások, chartok beszúrása Excelben, mentés, az Outlookos e-mail megírása, a mentett fájl csatolása, e-mail küldése, korábban is így ment ez. Itt mondjuk van időveszteség, kb. 15 perc/fő, napi szinten, plusz ugyebár a hibalehetőségek száma egyértelműen magasabb manuális munka esetén.A mostani kis garázsprojekt (leltár adatbázis alapon) viszont valóban necces audit szempontból.
Mit gondoltok az Access használatáról? Azt meg tudnám oldani, hogy a mostani lapvédelmes meg hasonló borzalmakkal tuningolt ősrégi Excel doksit adattisztítás után átdobom Accessbe, ez lenne egy egytáblás adatbázis, ami csak jelszóval szerkeszthető (olvasási joga mindenkinek van jelenleg is). És akkor ezen felül építenék egy felületet, plusz egy másik adatbázist, ami tartalmazná az apphoz kapcsolódó további adatokat, amik pl. a jogosultságkezelés szempontjából fontosak. Nyilván nem szép megoldás az egy tábla redundancia szempontjából, viszont ez így egy független, bármikor elővehető nyilvántartás, aminek van egy kényelmesebb olvasási/szerkesztési módja is, a .NET alapú GUI... -
joysefke
veterán
válasz
sztanozs #8902 üzenetére
Amiről beszélsz az egy extrém példa és azt feltételezi, hogy a munkafolyamatnak az adott "nem hivatalos" tool megkerülhetetlenül része lett, de szupport stb érdemben nem létezik rá. Tehát a valós munkafolyamat észrevétlenül(?) már annyira módosult, hogy a hivatalosan létező eszközökkel nem végezhető el (lol).
Nyilván elméletben idáig is el tudnak jutni a dolgok, de ehhez csoport szinten masszív vezetői hozzánemértés/elalvás kell. Ilyen szintű átalakulás nem egyik napról a másikra fog megtörténni. És ha megtörténik akkor ott már sokkal nagyobb bajok voltak, mint hogy egyszer Pisti aki összekendácsolta elment szabira. Pisti valószínűleg az évek alatt sokkal többet takarított meg a cégnek, mint amibe egy kis kiesés került. Csak ezt ugye hajlamosak vagyunk nem észrevenni.
Az extrém példával -ami valahol valamikor talán előfordul- szemben amit felhoztál viszont ott van a jelenlegi és egyébként mindennapos szituáció, hogy van valamilyen folyamat aminek lehetne érdemben növelni a hatékonyságát.
Ezt a lehetőséget pedig nyilván azok fogják először (és valószínűleg egyetlenként) észrevenni, akik benne dolgoznak, tehát nem a csapatvezető főnöke, nem is annak a főnöke, nem is a részleg vezetője, és nem a magyarországi helytartó, nem is a könyvelés, és nem is az IT, főleg nem ha ez Indiában van...
Tehát a kérdés az, hogy olyan vállalati struktúra és légkör van ami felkarolja az alulról jövő újításokat vagy legalábbis eszközöket és teret biztosít hozzá, hogy a csapatok megalkossák, módosításk a saját folyamataikat/eszközeiket. Vagy olyan a vállalati kultúra ami mindig csak fölfelé mutogat, panaszkodik de képtelen fejlődni és a kihívásokra megoldásokat szállítani.
Nekem meggyőződésem, hogy még ha van is fent akarat hatékonyabbá tenni a cég működését az alulról jövő kezdeményezések halmaza nélkül a fentieknek esélye sem lesz tudni, hogy lent igazából mire van szükség (vagy hogy egyáltalán mi történik a hierarchiában lejjebb)
-
sztanozs
veterán
válasz
joysefke #8901 üzenetére
Nekem jó tapasztalataim vannak azokkal a cégekkel ahol az IT nem belső ellenségként tekint a felhasználókra és csoportokra akiknek a jogkörét a szükséges abszolút minimumra kell csökkenteni.
Nekem pedig rossz tapasztalatom van olyan helyzetekkel, ahol 1-1 kiváló képességű rejtett fejlesztő hegeszt össze olyan cuccokat, amelyek ideális esetben akár 100-1000%-al növelik a termelékenységet (manuális feladatok automatizálása), de kritikus esetekben (pl windows update, vagy forrásrendszerek módosulása után) az adott osztály napokig nem tud dolgozni, mert az egy darab kolléga épp szabin van.
Tök jók az ilyen helyzetek, csak amikor egy saját célra készített eszköz már üzleti folyamatokat támogat, akkor ennek supportját is rendesen meg kell oldani. Ilyenkor pedig előjönnek a sztenderd kérdések/problémák:
- felhasználókezelés (minek?)
- változásmenedzsment, verziókezelés? (mi az?)
- adatforrásokat elérése (az én jelszavam van belekódolva)
- hogy illeszkedik ez a sztenderd architektúrába (van ilyenünk?)
- ezt nem fejleszthetted volna free VS.NET-ben (most ez miért gond, szabadon letölthető volt)Nem csoda, hogy az IT nem szereti látni (átvenni) ezeket a zsivány fejlesztéseket...
-
joysefke
veterán
válasz
sztanozs #8900 üzenetére
Ez a hozzáállás egész jó addig, míg be nem kopogtat az audit (vagy amíg el nem megy a "jóképességű" fejlesztő és a kollégák support nélkül maradnak).
Ezt nekik kell tudni. Ha mindig minden csapat arra várna, hogy majd fölülről biztosítanak/megoldanak mindent, és olyanoktól várná a segítséget akiknek egyébként fogalma sincsen az egyén vagy a csoport munkájáról, szükségleteiről, akkor a béka segge alatt lenne a termelékenység.
Ha a fejlesztő a csapat büdzséjéből kap órakeretet, hogy fejlessze a csapat toolingját, akkor értelmes elvárás az, hogy módosíthatóra, bővíthetőre csinálja -hosszabb életűre tervezi-, és ha elmegy, akkor valakinek aktívan átadja a fejlesztést. Ez a valaki nyilván ugyanabból a csapatból -az eszközt használóékból- kerül ki.
Ha a fejlesztő önszorgalomból csinálja, saját produktivitását növelendő (meg nyilván tanulni) akkor nyilván lesz amilyen lesz, működik ahogy működik, sok elvárás nem lehet vele szemben. Ha nagyon hiányos a tooling akkor ebből úgyis tanulópénz lesz majd valaki következő próbálkozáshoz...
Nekem jó tapasztalataim vannak azokkal a cégekkel ahol az IT nem belső ellenségként tekint a felhasználókra és csoportokra akiknek a jogkörét a szükséges abszolút minimumra kell csökkenteni.
Ú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!
- Otthoni hálózat és internet megosztás
- A fociról könnyedén, egy baráti társaságban
- Tőzsde és gazdaság
- Milyen belső merevlemezt vegyek?
- Debrecen és környéke adok-veszek-beszélgetek
- Linux kezdőknek
- Vezetékes FEJhallgatók
- Motoros topic
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- iPhone topik
- További aktív témák...
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- Új Apple iPhone 16e 128GB, Kártyafüggetlen, 3 Év Garanciával
- PROCASTER 40UNB700 40" 101cm televízió + Számla + Garancia
- Xiaomi Redmi A3 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest