webForumDet fria alternativet

Läsa fil på servern?!?

5 svar · 247 visningar · startad av xrobx

xrobxMedlem sedan mars 2003106 inlägg
#1

Finns det något sätt att läsa från en fil, exempelvis en textfil, som ligger på webservern?

Alltså, jag vill inte läsa från klienten, utan från servern som hemsidan ligger på.

Det jag vill uppnå är att kunna läsa ett värde från en fil som sedan visas på hemsidan, utan att behöva ladda om sidan...
Skrivningen till filen sker från ASP.NET då en användare ansluter.
DVS: en "aktiv counter".

Kanske går det att lösa med "sessions" i stället?

Tacksam för svar.

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Exempel:

<script type="text/javascript">
<!--

function getFile(f){
	var file = null;

	if( typeof(ActiveXObject)=="function" )
		file = new ActiveXObject("Msxml2.XMLHTTP");
	else if( typeof(XMLHttpRequest)=="function" )
		file = new XMLHttpRequest();

	if(file){
		file.open("GET",f,false);
		file.send(null);
	}

	return (file && file.responseText)
};

//-->
</script>

Sedan anropar du funktionen med getFile("foo.txt").

:)

xrobxMedlem sedan mars 2003106 inlägg
#3

TACK!!!
Det var exakt vad jag behövde!

:bire

xrobxMedlem sedan mars 2003106 inlägg
#4

Förresten.

Som sagt, tackar för svaret men jag tror att jag behöver lite mer hjälp.

Koden ovan fungerar bra, förutom att filen man läser inte uppdateras.

Exempelvis när jag öppnar sidan där skriptet körs läses filen från servern, jag returnerar värdet till en textbox. Allt är frid & fröjd.

sedan när jag öppnar filen samtidigt som hemsidan är öppen och ändrar värdet i filen, går det inte att uppdatera filens värde.
dvs. jag får det gamla värdet (när jag kör skriptet igen) även fast filen jag läser ifrån är uppdaterad.

Om jag laddar om browsern/sidan så får jag det nya värdet.

Cache problem kanske? Hur kan man lösa det måtro?

:OO

JojoxxMedlem sedan juni 20004 308 inlägg
#5

De flesta exempel jag hittar används tillsammans med cache-kontroll. Det tyder på att huvud-dokumentets inställningar för cahce även används för dessa objekt. Kör du ASP, prova med;

Response.Buffer = True 
Response.AddHeader "cache-control", "private" 
Response.AddHeader "pragma", "no-cache" 
Response.ExpiresAbsolute = #January 1, 1990 00:00:01# 
Response.Expires=0
Jesper TMedlem sedan nov. 20017 144 inlägg
#6

Kör du ASP så finns det smidigare sätt att includera andra filer på sidan, som dessutom är 100% crossbrowser. :)

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)