Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Skriptovanje u .NET - kako ?

[es] :: .NET :: Skriptovanje u .NET - kako ?

[ Pregleda: 1719 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

yuMoljac

Član broj: 102975
Poruke: 80



+1 Profil

icon Skriptovanje u .NET - kako ?18.05.2010. u 22:47 - pre 169 meseci
Želim napraviti jednostavan web server koji bi na svom "drugom kraju" slao telnet komande i slao nazad odgovore, u suštini "telnet-over-http".

Probao sam nađem neka gotova free rešenja ali slaba vajda, ili nisam dobijao rezultat izvršene komande, ili konfiguracija/instalacija ima smešne zahteve (pa.. meni su smešni). Čak su i neki shareware paketi omanuli (npr nisam mogao da naredim iz browsera na koju host mašinu da se prikači i tamo da izvršava komande izdate u browseru, uvek sam prvo morao ručno da podesim i nije bilo šanse da menjam telnet hosta bez ručne intervencije).

Želim da koristim sledeće resurse :

- aplikacija se izvršava u skriptu (znači nema smaranja sa kompajliranjem)

- postoje funkcije za pristup mreži tj tcp, http itd

- instalacija minimalnog broja aplikacija, platformi, interpretera i ostalog na ciljnoj mašini

Za sada imam PowerShell 2.0 .NET skripting host koji može da radi sa mrežnim konekcijama i zahteva samo XP SP3 i .NET 2.0.

Nažalost, ja imam iskustva samo sa VBA i VBS (na nivou office aplikacija) i zbunjuju me .NET varijante C#, Java, VB i ostali "dijalekti".

Kod VBA/VBS sam imao jedan skripting jezik i radio je u svim host-programima.

Primer u PowerShell-u za izraz "New Object"
Code:

$varijabla = New-Object Net.HttpListener



Dok u jednom drugom primeru za izraz "New Object" (zaboravio sam koji "dijalekt") stoji
Code:

static object mutex = new object();


Koji od ova dva primera je "original" a koji je "dijalekt" ?

Tražio sam po netu knjige na temu .NET ali nisam našao šta su razlike između tih "varijanti" i koji su zahtevi da bi se pisao kod u tim varijantama (koji OS, koji programi moraju biti instalirani da bi to radilo).

Takođe, zanima me :

- postoji li knjiga u kojoj je objašnjen PowerShell skripting i upotreba "Net.HttpListener" NA JEDNOM MESTU
- kojem "dijalektu" pripada PowerShell skript
- ili bar knjiga u kojoj je objašnjen "Net.HttpListener"

Koji IDE preporučujete za pisanje skriptova za PowerShell a da ima normalan autocomplete i opis/help za metode, funkcije i procedure opisane u .Net (kada ga npr zatražim sa F1 dok je kursor na keyword-u) ?
U VBA kada sam ukucao keyword, dobio sam osim autocomplete i help vezanza to. Čovek bi pomislio da je takvo nešto već postalo standard i čude me ova polu-rešenja.

Primer sa prethodno pomenutom linijom :
[CODE]
$varijabla = New-Object Net.HttpListener
[/CODE]

Probao sam PrimalScript, PowerShellAnalyzer, čak i njegov ISE (Integrated Scripting Environment).

Ako obrišem ".HttpListener" i posle "Net" kucam tačku onda:

-u PrimalScript-u ne dobijam ni "HttpListener", već samo reči vezane za PowerShell, nema autocomplete za "HttpListener"
-PowerShell Analyzer uspeva da ponudi i sve ispod Net, uključujući i "HttpListener", ali nema context help za njega
-PowerShell ISE izgleda "nema pojma" o .Net-u, ima syntax highlight, nema autocomplete za "HttpListener"
-takođe kod svih isti problem što nema uopšte helpa za argumente kada se ukuca otvorena mala zagrada
-nijedan od prethodno navedenih IDE ne može da ponudi methods i properties vezane za varijablu, ali to je već mana jezika što varijabla nema svoju type definiciju pa IDE ne može da ni da pretpostavi ništa za autocomplete

[FLAME]
Inače, prvobitno sam naučio nešto od jezika C (osnovna ANSI, non-OO varijanta) i uživao u njemu neko vreme.
Sada kada vidim statement-e poput "New-Object", diže mi se kosa na glavi.
Kada vidim znak minus stavljen kao deo komande dođe mi da vrištim.
Kako neko može da dozvoli takvu jeres nije mi jasno...

Nekako sam se još i pomirio sa razmacima usred komande i argumentima van malih zagrada u VBA, tamo je bar bio autocomplete i help.

Koliko vidim VBA je jedan od poslednjih skripting jezika koji imaju pošteno odrađen autocomplete za code i argumente i context sensitive help za komande. Ovo ostalo je ... ne znam. Nemam reči.
[/FLAME]


[Ovu poruku je menjao mmix dana 20.05.2010. u 10:45 GMT+1]
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Skriptovanje u .NET - kako ?20.05.2010. u 09:38 - pre 169 meseci
power shell nije VBA 2.0, to je Command Prompt 2.0 + script, tako da ne vidim razlog za tvoj flame, to uopste nije programski jezik vec script engine na steroidima. To sto power shell moze da se prosiruje .NET asemblijima i sto moze da odrzava state i dalje ne znaci da je programski jezik, to je samo nacin da se dodaju nove komande u shell.

dakle $varijabla = New-Object Net.HttpListener je pozivanje power shell komande (kao sto je npr i cd, md, ren) New-Object kojoj se kao parametar da je string "Net.HttpListener" koji a komanda parsira kao ime klase koju treba da instancira i tu instancu vrati a script engine je smesti u $varijabla. Dake ne radi se o tome sta je original a sta dijalekt, to je jednostavno format komandi u PSu.,

Btw, kad pises skripte u power shellu 2.0 imas intelisense pomoc u posebnoj freeware alatki zvanoj PowerGUI. Mozes je skinuti ovde http://powergui.org/downloads.jspa




Da bi dobio intellisense unutar .NET objekata (poslednja slika), moras da ukljucis asembli u skript (prva linija) i moras jednom da pustis skriptu da se pokrene u debug modu ili slicno da bi skript editor ucitao asembli i njegov metadata, posle toga radi intellisense bez problema.

[Ovu poruku je menjao mmix dana 20.05.2010. u 10:55 GMT+1]
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
Prikačeni fajlovi
 
Odgovor na temu

yuMoljac

Član broj: 102975
Poruke: 80



+1 Profil

icon Re: Skriptovanje u .NET - kako ?20.05.2010. u 10:01 - pre 169 meseci
Hvala na odgovoru. Pošto se .NET (ili što ja kažem njegov "dijalekt") pojavio i u office aplikacijama kao naslednik VBA (a i budući zamenik), moraću da ga naučim kad-tad, PowerShell skriptovanje će mi omogućiti da "zavirim" u taj novi način rada.

Znam da jezik nije manjkav i da odgovara nameni, samo sam bio frustriran koliko se sintaksa odvojila od stare forme. :) Zato sam i odvojio taj deo teksta.

Nadam se da ću uskoro imati novih pitanja kako budem polako istraživao namene i mogućnosti ovog skriping "jezika".

[Ovu poruku je menjao mmix dana 20.05.2010. u 11:26 GMT+1]
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Skriptovanje u .NET - kako ?20.05.2010. u 10:29 - pre 169 meseci

Moras napraviti razliku izmedju CLRa i Power shella. Ono sto imas u office paketima je CLR i njega koristis kroz jezika za koji postoji CLR kompajler (najverovatnije VB.NET ili C#), power shell kao script engine ne proizvodi CLR kod i neces ga koristiti u ofisu umesto VBA.

PS: Nema potrebe da prelamas linije kad kucas poruku na forumu, HTML ce to sam odraditi u zavisnosti od sirine ekrana korisnika. Prelamanjem linija cinis da poruka zauzima vise prostora nego sto je neophodno.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: Skriptovanje u .NET - kako ?

[ Pregleda: 1719 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.