webForumDet fria alternativet

Dummaste frågan någonsin?

ASP

20 svar · 546 visningar · startad av GrodanBoll

Medlem sedan sep. 2001788 inlägg
Frågan#1

Tjo!
Jag sitter på jobbet och skall försöka sätta mig in lite i ASP 3, har mest sysslat med PHP så jag e inte haj på detta.
Just nu tittar jag på ett system som vi använder på jobbet och har fastnat på lite kod. Det rör sig antagligen om klasser.

Vanligtvis när man använder klasser så initierar man ju klassen sedan anropar man funktionen, t.ex. classNamn.metod().
Men jag tittar på en kod som har en jädra massa punkter, ex. Site.Util.IsGuid(). Hur funkar detta?

Finns det kanske någon länk som kan sparka mig i rätt riktining?

Vore sketatacksam för lite nybörjarhjälp. :)

/EnFörvirradGroda

Medlem sedan mars 20016 260 inlägg
#2

skulle det vara asp? det enda jag kan tänka mig att det är en instansiering av ett objekt..
men visa mer kod är du snäll..

Medlem sedan maj 20002 597 inlägg
#3

Tänk på att rubriken skall vara relaterat till innehållet :(

Medlem sedan aug. 20012 349 inlägg
#4

kan ju vara klasser som är skrivna i asp (det går ju utmärkt, men är jobbigt), isåfall finns säkert de klasserna inkluderade i sidan via en inkludefil och där kan du då finna de olika funktionerna.

Annars är det säkert en dll som har instansierats på sidan och hur den funkar är svårt att veta, du får se om du kan hitta källkoden till dll:en.

Medlem sedan sep. 2001788 inlägg
#5

Till systemet jag kollar på finns det en form av dokumentation över dess klasser.
Om man tar koden:

NameSite.SiteConfiguration.DataRootFolder

Så finns det en klass som heter NameSite, den har en egenskap (Public Instance Properties) som heter SiteConfiguration. Denna egenskap har värdetypen (Value type) NameSiteConfiguration.
Det finns oxå en klass som heter NameSiteConfiguration som har egenskapen (Public Instance Properties) DataRootFolder som innehåller värdet som jag vill åt.

Finns det någon som kan förklara detta närmare hur det fungerar?
Varför gör man på detta sättet?

mrblonde skrev:

kan ju vara klasser som är skrivna i asp (det går ju utmärkt, men är jobbigt), isåfall finns säkert de klasserna inkluderade i sidan via en inkludefil och där kan du då finna de olika funktionerna.

Annars är det säkert en dll som har instansierats på sidan och hur den funkar är svårt att veta, du får se om du kan hitta källkoden till dll:en.

Vissa klasser ligger definitivt i aspfiler, men jag har inte hittat alla där så det är möjligt att de då ligger i dll:er.

Sico skrev:

Tänk på att rubriken skall vara relaterat till innehållet :(

Ja detvar ju inte den smartaste rubriken man satt, sry. :r

Medlem sedan juni 20022 599 inlägg
#6

ASP.NET? JSP?

Medlem sedan sep. 2001788 inlägg
#7

ASP 3

Medlem sedan juli 20003 825 inlägg
#8

Jag har en svag känsla av att du skulle ta dig ann ett mindre komplext problem om du vill "komma igång".

Du börjar liksom i fel ände...

Kan du inte börja att bli vän med response.write och hantering av databaser innan du ger dig i kast med klasser?

Ja, ja... jag vet inte!

Medlem sedan aug. 20012 349 inlägg
#9

Vi kan helt enkelt inte hjälpa dig med detta eftersom detta inte är specefika logik eller syntax problem, det är ju klasser skrivna av någon för något och du får nog helt enkelt själv lista ut hur de fungerar.

För att lära sig ASP är det nog bäst att som tidigare talare sagt, börja emd typ bli vän med response.write och jobba sig uppåt...

Medlem sedan sep. 2001788 inlägg
#10

Ok.
Tackar ändå. Det e ju inte så att jag inte kan läsa den mer elementära ASP-koden. Det e inget problem.
Dock blev jag satt på pottan när jag såg hur de hänvisade till egenskaper och metoder genom en sorts pekare från en annan klass.
Tydligen e detta inte så vanligt eftersom ingen här verkar ha erfarenhet av någon liknande lösning.

Jag pular vidare.
Tack till alla som försökte iallafall. :bire

/Grodan

Medlem sedan juni 20022 599 inlägg
#11

GrodanBoll skrev:

ASP 3

OK. Om det är ASP 3 så skulle jag tippa att det är nån form av back-officegrej, typ Site Server, Business Server eller E-Commerce Server ni kör. De brukar ha ett stort antal inbyggda COM-klasser. Men isåf är det väl rimligtvis nån som kan tala om för dig exakt vad det är så att du kan kolla i dokumentation.

Beträffande din fråga om punktnotationen:

NameSite.SiteConfiguration.DataRootFolder

.. så är det inget konstigt. COM-objekt kan ha punktnotation i hur många steg som helst. Klassen (objektet) NameSite har en (statisk) Property: SiteConfiguration. SiteConfiguration i sin tur är en klass/objekt som har en (statisk) Property: DataRootFolder som också kanske är en instans av ett objekt osv ...

Medlem sedan aug. 20003 575 inlägg
#12

Jag tycker att om man funderar på att lära sig ASP. Är det lika bra att skippa den tanken och fundera på ASP.NET istället.

Medlem sedan sep. 2001788 inlägg
#13

niko skrev:

Beträffande din fråga om punktnotationen:

NameSite.SiteConfiguration.DataRootFolder

.. så är det inget konstigt. COM-objekt kan ha punktnotation i hur många steg som helst. Klassen (objektet) NameSite har en (statisk) Property: SiteConfiguration. SiteConfiguration i sin tur är en klass/objekt som har en (statisk) Property: DataRootFolder som också kanske är en instans av ett objekt osv ...

Jamen det låter ju najs och det som jag verkar var ute efter. :) Finns det kanske ngn länk eller bok (helst länk om man får välja ;)) om de här punknotationerna (med flera steg)?
[r.] Fattar alltså inte hur man via en Property hänvisar/pekar till en annan klass. Och vad e det för mening (men det e kanske e mer av en filosofisak :q).

Och nope, det e ingen back-officegrej. Den körs på en vanlig server 2000 med IIS.

Nickemannen skrev:

Jag tycker att om man funderar på att lära sig ASP. Är det lika bra att skippa den tanken och fundera på ASP.NET istället.

Håller med dig men nu får jag tyvärr inte välja utan det e befintliga system som väljer åt mig. :/

Medlem sedan aug. 20003 575 inlägg
#14

okej,
hehe då är det bäst att lära sig båda. Men lär du dig ASP så går det fort att lära sig ASP.NET

så var det för mig iallfall. :D

Medlem sedan juni 20022 599 inlägg
#15

Finns det kanske ngn länk eller bok (helst länk om man får välja ) om de här punknotationerna (med flera steg)?

Nej, det tror jag inte eftersom det inte är nåt nytt i sig. Är du intresserad av metoder/properties för objektet SiteConfiguration så får du titta i dokumentationen för den klass som SiteConfiguration tillhör (NameSiteConfiguration?). Att SiteConfiguration, i detta fallet, råkar vara en property i NameSite förändrar liksom inget. (Du skriver ju i andra inlägget att du har tillgång till dokumentationen.)

Och nope, det e ingen back-officegrej. Den körs på en vanlig server 2000 med IIS.

Jo, fast back-officegrejer brukar köra på vanliga servrar 2000 med IIS. De är bara program. (Nånstans kommer ju COM-klasserna du använder ifrån? Om de inte är egentillverkade.)

Medlem sedan sep. 2001788 inlägg
#16

niko skrev:

Nej, det tror jag inte eftersom det inte är nåt nytt i sig. Är du intresserad av metoder/properties för objektet SiteConfiguration så får du titta i dokumentationen för den klass som SiteConfiguration tillhör (NameSiteConfiguration?). Att SiteConfiguration, i detta fallet, råkar vara en property i NameSite förändrar liksom inget. (Du skriver ju i andra inlägget att du har tillgång till dokumentationen.)

Jo alla metoder och egenskaper har jag till de olika klasserna. Det jag med min bristande förklaringsförmåga försökte få fram e:
Jag har bara varit med om att man får fram en klass's egenskap eller metod genom

klassNamn.Metod()

inte genom

klassNamn1.klassNamn2.MetodIKlassnamn2()

På något sätt visar man väl i första klassen att den har en egenskap som hänvisar till en annan klass. Nu hittar jag inte klassbiblioteken ifråga själv så jag kan inte titta hur de har gjort där. Men själva funktionen att anropa en annan klass genom en egenskap en klass borde väl finnas beskriven någon stans? I den allmänna Asp-, VB-script- eller COM-dokumentationen (vet inte var den tillhör)? Eller det kanske finns någon tutorial om detta?

Känner mig tjatig o trög just nu, ledsen om jag verkligen e det oxå. :r

Medlem sedan juli 20003 825 inlägg
#17

Vad jag menade med "att bli vän med response.write" är att om man vet vad som är asp är det lättare att fokusera på det som inte är asp.

Jag förstår att du förstår koden, men vad är standard och vad är egenutvecklade grejer!?

***
<%
response.write request.serverVariables("SERVER_SOFTWARE") & "<BR><BR>"
%>

Med denna koden ser du vilken version av Script Engine du har. Det bör vara 5.0.

Du nämner ASP 3.0 men jag vet inte vad det är! Det är inget som nämns i någon tråd och det är förmodligen bara ett samlingsnamn där Script Enginge 5.0 är det viktigaste under IIS 3.0.... Eller är det 4.0!? Jag minns inte!

Fråga inte efter ASP 3.0 för det är ingen som fattar det! Fråga efter ScriptEngine 5.0! :-)

Medlem sedan juni 200032 967 inlägg
#18

OT: ASP 3.0 är den version av asp-motorn som ingår i IIS 5.0. Utöver den nya scriptmotorn (som man KAN uppdatera), finns även en del nytt, exempelvis Server.Transfer och Server.Execute. Dessa metoder finns inte i IIS4 eller PWS, och dessa webbservrar kan inte uppgraderas till att klara av de metoderna. IIS 5.0, 5.1 (Win xp) eller 6.0 (Windows 2003 Server) är det som gäller då.

/OT

Mvh,

Medlem sedan juni 20022 599 inlägg
#19

Men själva funktionen att anropa en annan klass genom en egenskap en klass borde väl finnas beskriven någon stans?

Bara för att ta ett exempel från ren ASP (jag vet inte om man kan skriva så här i verkligheten).

<%
Class MinKlass

    Public Static Property Get MinAnslutning()
        MinAnslutning=Server.CreateObject("ADODB.Connection")
    End Property

End Class

sConnectionString=" whatever .."
'Punktnotation i två steg eftersom ADODB.Connection har en metod Open.
MinKlass.MinAnslutning.Open(sConnectionString)
%>

Om vi nu går vidare och bakar in MinKlass i en ny klass:

<%
Class MinNyaKlass

    Public Static Property Get MinGamlaKlass()
        MinGamlaKlass=new MinKlass()
    End Property

End Class

sConnectionString=" whatever .."
'Nu får vi punknotation i tre steg.
MinNyaKlass.MinGamlaKlass.MinAnslutning.Open(sConnectionString)

%>

OBS: Man kan antagligen inte skriva exakt så här i rena ASP-klasser men i ett COM-object som är skrivet i C++ kan man garanterat åstadkomma det.

Eclipse skrev:

Fråga inte efter ASP 3.0 för det är ingen som fattar det!

Det finns 1,660,000 på google som verkar veta vad det är ..

Medlem sedan sep. 2001788 inlägg
#20

Tackar för alla svar. :bire
Dock förstår jag ännu inte fördelen med att göra på detta sättet?

/Grodan

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)