Hirdetés
Új hozzászólás Aktív témák
-
Keem1
veterán
VS 2019 Community van fent, gondolom, megfelelő lesz, ugye?
Már átállítottam a beállításokban a package reference-t.Persze, érthető hogy a lefordított projektben benne lesznek a dll-ek, csak a package-k ne legyenek már külön projektenként.
Még nem próbáltam ki, de köszönöm az infót!
-
dqdb
nagyúr
Használj VS2017-et vagy VS2019-et és package reference-eket.
Így nem lesz
packages.config
, nem leszpackages
mappa, hanem a csproj fájlba kerülnek be a hivatkozások, a VS automatikusan proxy targets fájlokat generál a csomag hozzáadásakor/visszaállításakor, amelyek a%USERPROFILE%\.nuget\packages
mappa alatti fájlokat használja.Persze a lefordított projektekbe így is, úgy is bekerülnek a DLL-ek, szóval olyan sok helyet nem spórolsz meg, de időt a csomagfrissítéseknél rengeteget.
-
Keem1
veterán
Ha már itt egy téma kapcsán felmerült a NuGet... Van valakinek ötlete arra, hogy lehet egy-egy package-et globálisan telepíteni? Értem ez alatt, hogy nem egy-egy projecthez/solution-hoz külön-külön, hanem felmenne pl. a már említett SQLite package (Visual Studiohoz rendelve, nem solutionhoz), és azt akármennyi projecthez hozzá lehetne adni anélkül, hogy újra és újra letöltenénk és mappák tucatjaiban sorakozna újra és újra ugyanaz a package (foglalva az értékes lemezterületet is).
-
dqdb
nagyúr
válasz
alratar #9095 üzenetére
Ha nem a fő projektnél szerepel az System.Data.SQLite.Core csomag direkt függőségként (hanem csak annak egy függőségénél), akkor tedd be oda is. Feleslegesnek tűnik, hiszen függőség függősége, azonban az olyan csomagoknál, amelyek tartalmaznak az output mappába szánt natív DLL-eket és ezt a másolást csomaghoz tartozó targets fájlban
CopyToOutputDirectory
propertyvel intézik el (és az System.Data.SQLite.Core így tesz, bár próbálkozik bizonyos esetekben direkt másolással is prebuild feltételként és postbuild eventben, biztosra akartak menni ...), ott ezek a natív DLL-ek lemaradnak a kimenetből akkor, ha az adott csomag nem direkt függősége a tényleges alkalmazásnak vagy webalkalmazásnak, hanem csak indirekt.Régen használtam már SQLite-ot és abból is a gyári csomagot, de valaha ezt duális DLL-lel oldották meg (lehet, hogy nem ez volt a neve, de valami ilyesmi), ami egyszerre tartalmazott natív részt benne az interop kóddal és managed részt a .NET felülettel. Úgy nézem, hogy változott azóta, a .NET Core a tippem a változtatás okára. Kár érte, mert ezzel pont ezt a függőségi szívást lehetett kikerülni.
[link]
Vagy használd a C# portját, és akkor biztosan nem lesz szívás natív DLL-ekkel. -
Keem1
veterán
válasz
alratar #9092 üzenetére
Én nem NuGettel használom, és ezzel a hibával még én se találkoztam. Próbáltad már leszedni a standalone DLL-t és reference-ként hozzáadni? Vigyázz a megfelelő .NET verzióra és architektúrára (az SQLite 32/64 bit érzékeny).
Ha önállóan használod, keresd a nupkg verziót (ez lesz a kiterjesztés, de ez egy zip file) és csak az SQLite.dll-t add hozzá reference-ként. -
Sziasztok,
Tudom nem tartozik szorosan a témához, de hátha találkozott már ezzel valaki és tudja a megoldást rá.Szóval, a VS-en belül, a NuGet packageként felraktam az SQLite-ot. Betrodozom a programba hibátlanul, viszont mikor elindítom, mikor kikapcsolódni próbál az alábbi hibát írja ki.
System.DllNotFoundException HResult=0x80131524 Message=A következő DLL betöltése sikertelen: „SQLite.Interop.dll”: A megadott modul nem található. (A kivétel HRESULT-értéke: 0x8007007E)
Már használtam párszor sqliteot, se ez a hiba nem jött elő még soha.
-
válasz
rgeorge #9086 üzenetére
A legegyszerűbb, ha felhúzol elé egy (akár lokális) nginx szervert, ami a TLS 1.2 kérést "degardálja" 1.0-ra. [link]
Ráadásul ezek után a sebezhető TLS 1.0 szervert be tudod állítani, hogy csak lokális kéréseket fogadjon, így a sebezhetőség nem lesz a külvilág felé kinyitva.
-
rgeorge
addikt
Üdvözlet! Egy partnerünk még Windows 2003 szervert használ (részben a mi ezer éves rendszerünk követelményei miatt), és most onnan kellene https/tls 1.2 kéréseket intéznünk. Tudom, hogy .NET 4.5 alatt már támogatott lenne de az nem telepíthető Windows 2003 szerverre. SoapUI-val a szerverről tudok kéréseket küldeni a kérdéses url-re, rendben jön is válasz, de C# programból NotSupportedException: A kért biztonsági protokoll nem támogatott hiba jön. A ServicePointManager.SecurityProtocol beállítás megvan, mégsem. Természetesen más oprendszer alól a program működik.
Mi lehet a megoldás (upgrade, virtuális gép egyelőre nem játszik, kifejezetten ezen a platformon működő megoldást keresünk egyelőre)? -
Keem1
veterán
Eddig fájlokkal dolgoztunk, most jött az ötlet, hogy egységes formátumú XML (XML-RPC) kommunikációra állnánk át.
És az lenne a következő hónapok terve, hogy Linuxra álljunk át. Persze SMB megosztás nyilván ott is játszik, csak hát... Virtuális Linuxon, illetve itthon Raspberry Pi-n egész jól fut a .Net 4.5 és a Core 3.0 kód is.@sztanozs
Ahogy látom, most a Python mindennél népszerűbb volt, pedig azt hittem eddig, hogy a legnépszerűbb nyelv a Java, illetve utána valahanyadik helyen, de nem sokkal lemaradva a C#/.Net. Meg is lepődtem nemrég. -
coco2
őstag
-
Keem1
veterán
Köszönöm
, ez a linkelt library így első olvasatra jónak tűnik. Kipróbálom, addig a saját magam által feltalálandó spanyolviaszt felfüggesztem
Igen, webszerver elkerülése a cél. Azt nem használhatunk.Egy nagy multinál dolgozom, ahol azért nem olyan egyszerű dolgokat átvinni a security policy-n. Saját dolgainkhoz kaptunk egy helyet és egy Ethernet kábelt a helyi szerverteremben, ahová egy i7 procis Lenovo desktop gép bekerült. Ez már eleve tűzfal, proxi, stb. mögött ül, élvezve az egész épület biztonsági szolgáltatásait. A gép célja, hogy a munkánk megkönnyítése érdekében különböző toolokat futtassunk rajta. A többiek Pythonban programoznak, de én nem tudok kígyóuk, én maradnék a C#-nál. Nem programozók vagyunk, nem programok írása a feladatunk munkaidőben, ezzel a saját napi munkáinkat segítjük/kiegészítjük/egyszerűsítjük, így amihez ezek kellenek, abban produktívabbak, gyorsabbak vagyunk.
Adatbázist se használhatunk, a config adatokat ini fájlokban tároljuk. -
dqdb
nagyúr
Hogy tudom megvalósítani, hogy a hívott URL szerinti metódus fussék le és a kimenetét (return string) adja vissza a HttpListener outputjaként?
Arequest.Uri.Path
tartalmazza a relatív címet, a routingot ez alapján tudod megvalósítani.Ha eléggé nagy a beeső kérés vagy válasz, akkor stringek helyett szerencsésebb streamek használata. Ha van adatbázis vagy más távoli elérés a háttérben, akkor pedig az aszinkron kód írása. Ha az IIS/Kestrel elkerülése a cél beépített HTTP szerverrel, akkor nézd meg ezt a csomagot, könnyű használni, van benne SSL, alapszintű routing támogatás és teljesen aszinkron a teljes felülete.
Annyi, hogy a server.exe egy lokális Win szerveren futna, nyilván ezt task scheduler egyszer elindítaná és ott szépen futna.
Ez nagyon nem nyilván, ilyen típusú működésre a Windows szolgáltatások valók, nem egy random felhasználó nevében elindított exe.Ennek a helyi szervernek nincs nyitott portja a net felé, alapvető biztonság tehát megtéve. És nem is a 80-as portot használná a program.
A 80-as helyett másik port használata nem igazán számít biztonságnövelő tényezőnek. -
Keem1
veterán
Srácok, segítséget kérnék. Rendkívül egyszerű webszerver class készítése a cél, HttpListener segítségével. Kicsit már ismerkedtem vele. Azért nem kész webszervert használok, mivel a cél eléréséhez kicsit ágyúval verébre eset lenne. A lényeg, hogy van egy solution két projecttel. Az egyik a server, a másik a client. Ők ketten belső hálón, XML-ek segítségével kommunikálnak. A server különböző (kapott bemeneti XML alapján) feladatokat old meg (pl. lekér a netről dolgokat, átalakítja, kioutputolja). A feladattól függő végeredményt pedig kiköpi szintén XML-ben a kliens felé (Webrequest).
Nos, ez frankón működik, itt a main()-ből ki is szedtem és betettem egy Webserver class-be. A cél az lenne, hogy a Webserver class Run() metódusa lenne ez a kiszolgáló kódrészlet, de ezenkívül lennének a végrehajtó metódusok, amik mind-mind string returnnal rendelkeznének (a HTML vagy XML stringje).
Ez eddig mind megy. Most jön az, amiben segítséget kérnék.
Hogy tudom megvalósítani, hogy a hívott URL szerinti metódus fussék le és a kimenetét (return string) adja vissza a HttpListener outputjaként?
Pl:
- http://serverfqdn:8080/teszt/ -> Webserver.Teszt() metódus string outputja
- http://serverfqdn:8080/anyamegyszent/ -> Webserver.AnyamEgySzent() metódus string outputjaAnnyi, hogy a server.exe egy lokális Win szerveren futna, nyilván ezt task scheduler egyszer elindítaná és ott szépen futna. Ennek a helyi szervernek nincs nyitott portja a net felé, alapvető biztonság tehát megtéve. És nem is a 80-as portot használná a program.
-
.St.
tag
Köszönöm a segítséget a threading megoldotta gondom
-
vlevi
nagyúr
Android pl. kifejezetten tiltja a fő GUI szálon történő http műveleteket. El sem hajlandó indulni.
Ott pl. a programból való kilépéskor a mentést, felhőbe feltöltést is külön service-ben érdemes (kell) megírni, ami vár a Wifire, és csak akkor kezdi el a feltöltést, függetlenül attól, hogy a felhasználó már rég kilépett az alkalmazásból. -
.St.
tag
Több 100e rekordot kell feltöltenem SQL szerverre .dbf fájlból. Működik is a feltöltés, a progressbar szépen jelzi is, hogy hol tart. De ha kattintok valahol vagy lelépek az ablakról akkor a 'Program nem válaszol' üzenet jön és látszólag lefagy az egész. De a háttérben tölti fel szépen. Amikor végez, újra életre kel az ablak csak így nem látszik hol tart a folyamat. Van erre valami megoldás?
-
Sziasztok!
Tudna nekem valaki linkelni Gtk#-hoz gyorstalpalót, ami kezdőként is könnyen emészthető?
A suliban elkezdtünk WindowsForms-szal foglalkozni, és megpróbálom vele párhuzamosan A Gtk#-ot is megismerni, de már az elejétől fogva lényegesen más a kettő, így a WinForms ismeretek csak nagyon minimálisan használhatóak fel hozzá. -
joysefke
veterán
EF Core vs Generikus repository/UoW + eager loading child-of-child property /.ThenInclude()/
Hogyan kell EF Core-val generikus repositoryt illetve UnitOfWorkot csinálni?
EF4-hez találtam jó tutorialt:
https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application#implement-a-generic-repository-and-a-unit-of-work-classItt a generikus repo lekérdező metódusai paraméterként elfogadnak egy stringet is, amely az eager-loaded property-k neveinek egymástól vesszővel elválasztott listáját tartalmazza. A lényegi rész itt van, ez éppen egy Get-metódus:
public virtual IEnumerable<TEntity> Get
(...,string includeProperties = "")
{ IQueryable<TEntity> query = dbSet; ... foreach (var includeProperty in includeProperties.Split (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { query = query.Include(includeProperty); }Többek között ezt szeretném EF-Core3-ra átportolni. A problémám az, hogy EF Core-ra (úgy általában) nem találtam megoldást, hogy a gyemek property-k gyermekeit (és esetleg azoknak a gyermekeit) is betöltsem a generikus lekérdező-metódusban anélkül, hogy a hívó félnek EFCore-dependenciát adnék.
Pld egy N-N táblarelációt hogyan kezeljek? EF Core-ban ugye több-több kapcsolathoz kell egy join table (EFC-ben join entitás). A MS-os pédánál maradva lesznek nekem Student, StudentCourse és Course entitásaim. Mi van ha én a Student entitáshoz nem csak a StudentCourse entitásokat, hanem a Course entitásokat is be szeretném tölteni?
Meg lehet ezt értelmesen oldani?
Workaroundként, ha csak a childokat csak első ízig töltöm be (vagy első ízig SEM), akkor ha a lekérdezéseim a kliensnek IQueryable<TEntity>-t adnak vissza, akkor a kliens kedvére LINQ-joinolhat és a JOIN/lekérdezés még mindig az SQL Serveren hajtódik végre.
Vélemény?
-
martonx
veterán
A hivatalos dokumentáció: https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro?view=aspnetcore-3.1
-
coco2
őstag
válasz
RedHarlow #9067 üzenetére
Sziasztok!
Lehetőség szerint asp.net példa projecteket keresek. Alap bemutatót, és utána ollózni való nyersanyagot. Összedobnék egy 2-3 táblás gyorsfényezett adat felvitel / módosítás / adat visszakeresés példa alkalmazást. C#-ben otthon vagyok, weben otthon vagyok, asp-ben nem vagyok otthon. Egyszerű dolog után néznék, felületes stuff elég. Blogok, videók, aki ismer a témában barátságos tartalmat, küldjön róla egy linket legyen szíves.
Köszönöm.
-
martonx
veterán
válasz
RedHarlow #9064 üzenetére
Én a helyedben ezt az egész IE megnyitósdit kihagynám. Nézd meg, hogy milyen http hívások mennek az IE és az Oracle izé között, aztán elég csak ugyanazokat a http hívásokat végigcsinálnod C#-ból HttpClient-tel. Ez így sokkal robosztusabb lesz, mint böngészőn keresztül bohóckodni.
-
RedHarlow
aktív tag
Ez így egy kicsit csúnya megoldás lenne nem? Kb 10 percenként beloginolni, elnavigálni 3 menüpontot, majd kitölteni egy űrlapot, majd megnyomni egy gombot. Vagy megoldható így az, hogy ezt csak egyszer csinálja meg, aztán 10 percenként már csak a teszt gombot nyomkodja? Mert abban az esetben tényleg jó lehet.
Egy 1,5 - 2 órás manuális feladatot szeretnék automatizálni egy programmal a program lényege a következő lenne:
1. Megvizsgálja a zip fájlban lévő xml-ek tartalmát, ezután felállít egy töltési sorrendet.
2. Az első xml-t feltölti egy távoli szerverre.
3. Oracle EM-ben elindít egy folyamatot (Csak IE-ben működik az oldal, login után 3 menüpontot kell beljebb menni, majd egy űrlapon kitölteni egy mezőt és aztán a teszt gombbal indítja az xml beolvasást)
4. XML eltűnik, legenerálódik 10-20 perc alatt pár száz xml egy másik mappában.Ha a mappában lévő xml-ek száma egyezik az eredeti xml-ben lévő termékek számával akkor minden jól sikertül, és kezdődik a folyamat előlről a következő xml-el. Itt viszont már nincs szükség újra beloginolni, űrlapot kitölteni, csak simán a teszt gombot megnyomom és el is kezdi a feldolgozást. Kb 10 xml-ről van szó, heti szinten 2x kell megcsinálnom, kb 2 órás feladat manuálisan.
A programom többi része működik, csak ezt az IE-s Oracle dolgot nem tudom megoldani, alapból úgy szerettem volna, hogy megnyitok egy IE-t, beállítok mindent, leteszem tálcára, indítom a progim, és az szép lassan nyomogatja a gombot a háttérben futó IE-n, na igen csak nem tudom elérni sehogy a háttérben futó IE-t, csak ha újra meg újra megnyitom, beloginolok, ellépek 3 menüpontot, kitöltöm az űrlapot... nekem ez így kicsit problémásnak tűnik.
Tényleg sokat segítene ha meg lehetne oldani már kiég az agyam az xml-ektől.
-
disy68
aktív tag
válasz
RedHarlow #9062 üzenetére
A Selenium nem fog "elérni" egy korábban indított böngészőt, nem arra lett kitalálva, hanem ő indít egy böngészőt/böngésző motort jobb esetben gui nélkül (headless mode) és abban lehet kódból ügyködni.Amúgy lehet indítani gui-val is, akkor látszik, hogy mi is történik, de az esetek többségében ez nem elvárás.
Szóval ezt úgy tudod megoldani, hogy használod az internet explorer drivert hozzá, ha csak azzal megy jól az oldal. Amikor megvan a feltöltés a programodban, akkor a Selenium-mal megnyitod az oldalt, beloginolsz (így szép magyarosan
), majd megcsinálod amit szeretnél.
-
RedHarlow
aktív tag
válasz
sztanozs #9009 üzenetére
Sziasztok,
Sajnos a mai napig nem sikerült megoldanom a dolgot, a seleniummal nem elérhető már korábban futó IE ablak, a chefsharp pedig azért nem jó mert csak IE alatt fut rendesen az oldal.
A programom lényege, hogy feltölt egy szerverre egy XML-t, ha sikeresen felment akkor az Oracle enterprise managerben kellene elindítanom egy folyamatot, egy TEST gomb megnyomásával. Ez ugye bejelentkezéssel jár és csak IE alatt működik jól a dolog.
Előre is köszönök minden tippet.
-
.St.
tag
Na jó, kezd az agyam megrepedni, win10-hez nem csatlakozik
-
.St.
tag
Megvan
Ha valakit érdekel itt a vb kód.
Imports MSTSCLib
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
rdp.Server = "szerver címe"
rdp.AdvancedSettings2.RDPPort = 3389
rdp.AdvancedSettings2.RedirectDrives = True
rdp.AdvancedSettings2.SmartSizing = True 'ez az okos méretezés
rdp.DesktopWidth = 1280
rdp.DesktopHeight =720
rdp.UserName = "login név"
Dim isSecured As IMsTscNonScriptable = DirectCast(rdp.GetOcx(), IMsTscNonScriptable)
isSecured.ClearTextPassword = "jelszó"
rdp.Connect()
End Class -
.St.
tag
válasz
sztanozs #9058 üzenetére
Köszi! Tegnap hosszas küszködés után rájöttem a megoldásra. Ott volt az csak nem látszott. Be kellett kapcsolni, hogy megjelenjen. Most már a kapcsolódás is működik.
Egy igény azért még lenne, amire szintén nem találok megoldást. Szeretnék egy betekintő nézetet is amin 4 gépet is látok egyszerre. Ehhez viszont az adott ablakokat kicsinyítenem kellene. A beépített távoliasztal kliens esetén van olyan (fejléc jobb gomb), hogy Inteligens méretezés. Amikor a távoliasztal felbontása nem változik ha összébb húzom az ablakot. Ilyet nem tudok csinálni valahogy? -
.St.
tag
Senkinek nincs ötlete??
-
.St.
tag
Sziasztok!
Nagyon kezdő vagyok még a C# -ban és kellene egy kis segítség. Találtam egy videót, hogyan kell RDP -t csinálni C#-ban. A References -ben hozzáadtam a Microsoft Terminal Services Active Client 1.0 Type Library -t, ahogy a videóban is volt. Meg is jelent az MSTSCLib a listában. De a Toolbox-ban nem jelent meg az objektum így nem tudom a form -hoz hozzáadni. Mit csinálok rosszul? Hiányzik valamilyen komponens?
Help, please! -
t-shirt
veterán
Keem1 és joysefke köszönöm a válaszokat.
Próbálom értelmezni amit írtatok :D ha valami nem megy majd jövök. -
joysefke
veterán
válasz
t-shirt #9050 üzenetére
Van egy "DB Browser for SQLite" nevű kis stand alone programocska, azzal tudsz belenézni a táblákba és módosítani őket.
Ha programból akarod lekérdezni az SQLite adatbázist, akkor Entity Framework Core-hoz van SQLite provider. Neten fogsz találni a kapcsolódáshoz/használathoz példákat.
Én anno mikor kb egy éve használtam SQLite-ot, azért voltak limitációi: Mindenféle dátumkezeléssel nagyon megszenvedtem.
-
Keem1
veterán
válasz
t-shirt #9050 üzenetére
Ez kell neked
Standalone DLL, annyi, hogy verzió- és architektúra érzékeny. Muszáj vagy x32 vagy x64-ben fordítanod és vele a megfelelő DLL-t "csomagolni". Mindenképp a nuget package-t használd, mivel az egy nagyobb dll és nincs prerequisite.Emellett használhatsz helper classt is, de ha ráérzel a lényegre, akkor az adott class-ben úgyis megoldod a használatát. Én mindig készítek egy model classt, és szinte csak ott használom az adatbáziskezelést. így a helper már nem nyújt előnyt.
-
t-shirt
veterán
Tiszteletem!
Egy beléptető rendszer „SQLite format 3” adatbázis fájlt hoz létre, ebből kellene adatokat kinyernem és dolgoznom vele. Egy bowser-el megnyitottam a file-t, látom benne a szükséges táblákat/adatokat.Azt szeretném kérni, ha valaki jártas az SQLite használatában egy pár sorban mutassa meg a szintaktikát, hogyan tudok megnyitni és kiolvasni (csak olvasni kell) egy ilyen adatbázist. Vagy ha van valahol egy egyszerű leírás róla azt is szívesen fogadom.
A VisualStudio-hoz kell valamilyen kiegészítőt telepítenem az SQLite használatához?
-
bandi0000
nagyúr
-
pvt.peter
őstag
Sziasztok,
Interpolált stringeknél mi értelme van a kettős pont előtti számnak? Pl.
$"Dear {0:firstName} {1:lastName}, the price is {3:price}.";
Köszi a választ.
-
bandi0000
nagyúr
válasz
bandi0000 #9043 üzenetére
Franc a hülye fejemet
Annyi volt a hiba, hogy fel volt cserélve a
app.UseAuthentication(); és app.UseAuthorization();Bár ez utóbbit nem biztos, hogy értem, hogy miért is lényeges, vagyis azt tudom hogy a kérés minden egyes middleware-en keresztül megy sorban, szóval lényeges a sorrend.
Az Authentication-nel ugye a usert-t azonosítjuk jelszóval együtt
Az Atuthozrization-nel meg azt, hogy mit tehat a user a rendszerhez, mihez van joga -
bandi0000
nagyúr
Egy kis segítséget szeretnék kérni mert elakadtam
Egy tutorial után csinálom a JWT autentikáció megvalósítását, viszont a tutorialba 2.2 verziót használták a .net core-nak és pl ő tudta ezt használni:
services.AddDefaultIdentity<ApplicationUser>()
.AddEntityFrameworkStores<AuthenticationContext>();
Viszont én már csak ezt tudtam használni:
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{...A Hiba annyi, hogy szépen legenerálja a tokent a felhasználónév és jelszó alapján, viszont a másik controllerbe már ha ráteszem a metódusra az [authorize] annotációt, akkor nem lép be a függvénybe, gondolom valahol elszáll. Természetesen a tokennel együtt próbáltam. Arra gondoltam, hogy az IdentityRole miatt nem engedi be, de arra nem is állítottam be semmit.
Igazából elbíbelődnék én vele, de nem tudom, hogy hogyan keressem a hibát, mármint lehet valahogy an annotációt ellenőrizni, hogy mit csinál?
Ha esetleg segít valakinek, akkor itt a
[link] projekt
-
coco2
őstag
Sziasztok!
Kérdés általános jelleggel mindazokhoz, akik használnak céges környezetben .net core-t. Felfigyeltetek-e bármi olyan jellegzetességre, ami nem következik kötelezően a .net core platformból? Például hogy szokásostól eltérő hitviták platformjává vált vagy olyasmi?
-
pvt.peter
őstag
Sziasztok,
Lenne egy C# -os, IIS + AD -val kombinált kérdésem (jobb topikot nem találtam ennél).
Van egy IIS szerverem ami egy olyan gépen fut, amely egyben DC is. A webalkalmazás form authentikációval lépteti be a usereket, a userek pedig az AD -ban vannak letárolva. Tehát van egy weboldal, amely elérhető internet felől is akár, és a belépésre jogosult userek le vannak tárolva AD -ban is. Az alkalmazásnak van egy jelszóváltoztatás funkciója, viszont a változtatás után a régi jelszóval is belehet lépni még kb. szűk 1 óráig (de inkább kevesebb ideig).
A Windowsban megváltozik a jelszó, ugyanis ha pl. RDP -vel lépek be a gépre, akkor az adott usernek már csak az új jelszavával tudok belépni.
Ha jól gondolom, akkor IIS -nél lehet vmilyen cachelési mechanizmus, ugyanis pl. iisreset után már csak az új jelszóval lehet csak belépni.A kérdésem: járt már vki hasonló cipőben? Ha igen, mi lehet a gond?
Köszi a segítséget.
-
pvt.peter
őstag
válasz
zsolti_20 #9032 üzenetére
Nem igazán találtam rá értelmes megoldást, inkább használd a SendKeys.Send -et.
-
zsolti_20
senior tag
Lehetséges ezzel a kódsorral más gombot is szimulálni?
[link]
Akárhogy próbáltam sima karaktereket szimulálni vele, nem akar működni. Lehetséges kombinálni is? Shift+F6 érdekelne. -
zsolti_20
senior tag
Alakul a dolog, most a process ID-val próbálom előtérbe hozni a programot. Próbáltam utána olvasni, hogyan lehetséges ez, de mindenhol valami "windows handlet" ír, de soha nem hallottam még erről. Lehetséges egyáltalán előtérbe hozni egy programot process ID szerint? Mi akar lenni ez a windows handle?
-
dqdb
nagyúr
Vagy code injection kellene hozzá, amire jellemzően minden vírusirtó ugrana, amiben van alapszintű BB vagy HIPS. Ráadásul úgy is csak bonyolultan (BeginPaint és EndPaint eltérítése, direkt WM_PAINT kiadása) és okozhatna alkalmazásszintű problémákat.
Vagy meg kell keresni a topmost ablakokat, amelyek kitakarnának a képből, és ezeket el kell rejteni arra az időre.
Szerintem egyik sem éri meg a befektetett időt.
-
dqdb
nagyúr
válasz
zsolti_20 #9021 üzenetére
[link]
Forrást végignézve ez jó lesz neked, az előzőtől annyi az eltérés, hogy lekérdezi az aktív ablakot, és annak a koordinátáit használja fel.Azt azért hozzá kell tenni, hogy nem az aktív ablakról tudsz képernyőmentést készíteni, hanem a képernyő azon részéről, ahol az aktív ablak van. Ez a kettő általában megegyezik, azonban abban az esetben, ha az aktív ablakot részben takarja egy másik ablak, amire a z-order szerint feljebb van, akkor azon a részen a másik ablak fog látszani a mentésen.
-
zsolti_20
senior tag
Ez valóban sokkal jobban működik.
Van lehetőség arra, hogy azt csinálja mint az ALT+ PT screen? Hogy csak az adott aktív ablakról csináljon képernyőmentést. Vagy egy process ID-t lekérve csinálna egy printscreent. Bár nem tudom hogy ha megnyitnék egy notepadot, majd bezárnám és újra megnyitnám, akkor honnan tudná mivé változott a process ID.
De ha már az elérhető lenne, hogy csak az aktív windows ablakról készítsen képernyőmentést az is elég lenne. -
vlevi
nagyúr
Méginkább. Biztos voltam benne, hogy C#-ban is van valami közvetlen megoldás a képernyőmásolatra.
Az üzenetküldő nem rossz dolog, de, aki nem számít rá, hogy ezek üzenetek, és bizonyos sorrendben dolgozza fel a rendszer, azt érhetik meglepeétsek. pl. jelen esetben, ha előtte van egy minimize window üzenet -
zsolti_20
senior tag
Próbáltam csinálni képernyőmentést de nem igazán jön össze dolog.
"SendKeys.SendWait("%{PRTSC}");
Image myImage = Clipboard.GetImage();
myImage.Save("kecske.png");"
Ezt a kódrészletet használom, de a furcsa az, hogy kétszer kell lefuttatnom hogy az aktuális képet mentse. Mindig le van maradva egy képernyő mentéssel. -
disy68
aktív tag
válasz
zsolti_20 #9014 üzenetére
Akkor továbbra is a System.Printing alatt nézelődj, a PrintQueue#isPrinting() függvénye bíztató. Bár abból, hogy megjegyzik hozzá: "If the printer does not support a signal with this meaning, then the property is always
false
." úgy tűnik, hogy a nyomtatótól is függ a dolog, hogy ez működik-e. -
zsolti_20
senior tag
Ennyire sajnos nem egyszerű a feladat mert amikor végzett az "A" dokumentummal (a dokumentum jobb szó mint az oldal, akkor ezeket szeparálja egy arduino alapra épülő szerkezet a B dokumentumtól. De ehhez tudnia kell a programnak, hogy mikor ért véget az A dokumentum és mikor kezdődik a "B". Ráadásul ezek ránézésre ugyan gy néznek ki csak a rajta lévő bár kódok különböznek.
-
disy68
aktív tag
válasz
zsolti_20 #9011 üzenetére
Innen: System.Printing namespace alatt LocalPrintServer PrintQueue
Windows Service és ASP.Net service vagy alkalmazás alól nem támogatott a használatukAmúgy nem világos a probléma egészen, ott a nyomtatási sor, ami egymás után küldi nyomtatásra az oda kerülő dokumentumokat, tehát csak ki kell küldeni egymás után nyomtatásra az oldalakat és amikor végzett az A oldal fog jönni a B
-
zsolti_20
senior tag
Üdv emberek! Lehetséges olyasmi C#-ban hogy a nyomtató státuszát figyelem?
Igazából csak annyira lenne szükségem hogy nyomtat a nyomtató vagy sem.
Kb azt szeretnék megoldani, hogy van A,B,C oldal amit kiszeretnék nyomtatni.
Ha végzett a nyomtató az A oldallal csak utána kezdje el nyomtatni a B oldalt és ha végzett a B-vel csak utána lásson neki a C-nek. (természetesen nem 3 oldalról van szó, hanem többről, és a windowson belül is kell auto tallózni a programnak, de ez a része már készen van).
Hogyan ellenőrizhető a nyomtató státusza? -
RedHarlow
aktív tag
Sziasztok,
Szeretnék az alkalmazásom egyik gombjával megnyomni egy gombot egy weboldalon. A neten csomó leírást találtam erre de az én esetemben egy már jelenleg futó IE, első tabján, egy már előre betöltött (belogolt) oldalon lévő gombot kellene elérnem. Erre viszont nem találtam módszert, valaki esetleg tud valamit ajánlani, hogy tudom elérni az IE első tabján már betöltött weboldal elemeit? Vagy esetleg van valakinek jobb ötlete? Oracle Enterprise Manager-ről lenne szó és a gomb lenyomásával egy folyamat indulna el.
-
martonx
veterán
Ez vajon segít? https://code.visualstudio.com/docs/languages/dotnet
-
Keem1
veterán
-
Szőrös
veterán
Sziasztok, valaki tudnak segíteni? Visual studio code-ban miért kapom ezt a hibát futtatásánál?
"'scriptcs' is not recognized as an internal or external command,operable program or batch file."
Ha minden igaz fent van net code sdk, meg minden extension.
Ú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!
- iKing.Hu - Samsung Galaxy S25 Edge Használt, karcmentes állapotban 12 GB RAM / 512 GB tárhely
- HP EliteBook 840 G8 i5-1135G7 32GB 1000GB 1 év garancia
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- LG 27GS95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / 1000 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: FOTC
Város: Budapest