Hej! Lyckades lösa det på egen hand efter mycket arbete... nu har jag samma problem med denna lösningen... fungera ett litet tag sen helt plötsligt bara börja den tugga tills det blev timeout en dag. sen någon dag senare fungera det igen, men nu fungerar det inte igen. förstår inte vad som händer. när det fungerar tar det bara någon sekund för att hämta. sidan jag ska plocka hem är alltid online så det är inte det. Hur ska man göra för att få rätt på det alternativt veta exakt vad som hänger sig? får ju bara ut timeout från iis. iom att det fungerar från och till kan jag inte helt säkert begränsa felet till windows 2003 server, jag körde det inte särskillt länge på winxp och iis5.1 innan jag byta till windows 2003 server. OK jag lyssnar lite :-) debuggern var redan aktiverad men just nu "fungera" det så jag kan inte testa så mycket... Aha ok, detta låter som en vettig ide... hur skulle detta kunna se ut i c#? inte så haj på detta än :( "... hur skulle detta kunna se ut i c#? " jo fårstår det :) ska se om jag kan få ordning på det. tack!HttpWebRequest i windows 2003 server
Jag har ett program som plockar fram källkoden från en hemsida och detta fungera utmärkt när jag körde winxp och iis 5.1
Nu bytade jag till windows 2003 server med iis6.0 och nu fungerar inte detta längre. allt annat på sidan fungerar, tex databas kopplingar osv. Men HttpWebRequest vill inte fungera, bara står och tuggar ett bra tag sen kommer det upp "sidan gjorde timeout" eller något i den stilen. Det fungerar inte heller via webmatrix inbyggda webserver.
Är det något i windows server 2003 som begränsar detta?
kodexempel:
StringBuilder sb = new StringBuilder();
// used on each read operation
byte[] buf = new byte[8192];
// prepare the web page we will be asking for
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(Convert.ToString(TextBox1.Text));
// execute the request
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
// we will read data via the response stream
Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);
// make sure we read some data
if (count != 0)
{
// translate from bytes to ASCII text
tempString = Encoding.ASCII.GetString(buf, 0, count);
// continue building the string
sb.Append(tempString);
}
}
while (count > 0); // any more data to read?
TextBox2.Text = sb.ToString();Sv: HttpWebRequest i windows 2003 server
anänder följande istället för httpwebrequest och httpwebresponse:
WebClient myClient = new WebClient();
Stream response = myClient.OpenRead(Convert.ToString(TextBox1.Text));
// The stream data is used here.
response.Close();
vet dock fortfarande inte varför inte det första fungerar...
Men jag är nöjd så jag ska inte fördjupa mig mer i det.Sv:HttpWebRequest i windows 2003 server
Sv: HttpWebRequest i windows 2003 server
Sv: HttpWebRequest i windows 2003 server
Kan du haka på debuggern å se vad som händer?
Kan loopen bli "evig"? DVS count > 0 hela tiden (varför vet jag inte men ändå...)
Vad händer om du lägger en spärr på max antal varv i loopen?
Eftersom det bara händer ibland - är det olika filer som visas och hänger det sig alltid på samma fil(-er)?
Det är de frågor jag ställer mig.
Kanske till ngn ledning
/StaffanSv:HttpWebRequest i windows 2003 server
Men det ser ut som jag får skriva om hela koden ändå :( efter att ha läst igenom licens sidorna på imdb har jag förstått att man inte får hämta information från deras websida utan får hämta det från deras text filer som ligger på tex sunet ftp://ftp.sunet.se/pub/tv+movies/imdb/
Så jag får väl skapa något skript som plockar hem de filer jag behöver 1 gång i veckan och packar upp de på datorn. Hur kan man skriva detta? har winrar inlagt på datorn, man får väl använda detta i kommandoläge för att packa upp? sen får man väl lägga in det i windows schemaläggare. så det blir alltså detta jag behöver göra i ett bat script (eller kan man göra på annat sätt?):
ladda hem ett par filer
packa upp dessa i samma map med hjälp av winrar
ta bort de nerpackade filerna
sen får jag skriva om hela hemsidan så den får söka i dessa textfiler istället, men det får bli steg 2.
vore tacksam om någon kunde hjälpa mig med detta, man kan kanske fixa detta via annat än bat script, öppen för förslag.Sv: HttpWebRequest i windows 2003 server
Du skulle kunna gör en rutin - kanske rent av köra den i en egen tråd - i webbapplikationen som gör jobbet en gång i veckan. Den kan triggas av ngn besöker sjaten & att det har gått mer än 7 dygn sedan sist. (Kolla t ex av mot en Applications-variabel)
Jobbet skulle bestå av att kolla m det finns några nya filer sedan sist
Om så - ladda hem dem via ftp och packa up dem i lämplig katalog.
För uppackningen kanske du kan ha nytta av #ziplib http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx . Jag vet inte om den klarar gz-filer, har precis stött på den, men det borde gå.
Lycka till.
/staffanSv:HttpWebRequest i windows 2003 server
Sv: HttpWebRequest i windows 2003 server
Tyvärr har jag inyte tid att göra programmet åt dig :-)
Men om du sätter igång och tar det som som att "läramigc#ochdotnet"-projekt så blir du haj på det.
/StaffanSv:HttpWebRequest i windows 2003 server