Vi har börjat testa lite smått på några webbsajter att använda ISAPI-modulen som finns installerad hos Binero och det fungerar ganska bra. Vi har till och med fått igång ett första MVC-projekt på .NET 3.5. Riktigt kul med ett webbhotell som är framåt och förstår vilken teknik vi utvecklare vill ha.
Det tog lite tid att lista ut hur man fick igång det eftersom Bineros förklaring av Rewrite 3 inte är så utförlig. De har manualen på deras sajt så där kan man lära sig lite (funkar dock inte med Firefox 3). Helicon Tech som ligger bakom modulen rekommenderas också.
Mest hjälp för att få igång det hade jag av av några trådar på Aspsidan och webForum.
Något att tänka på är att de ändringar man gör i Script Mappings i Bineros kontrollpanel tar ett tag innan de slår igenom. Kommer ihåg den första kvällen då jag kämpade med det in på småtimmarna men hade ingen lycka. Provade mängder av olika konfigurationer och gav sist upp och bara lämnade det. Nästa morgon när jag laddade upp sidan så bara det fungerade!
Så nu ska jag förklara det jag kommit på hittills.
Det första man måste göra är att lägga till en *-mappning enligt följande.
Filetype: * Executable: Aspnet2 is wildcard: false is script engine: false verify that file exists: false
När du ändå är där kan du även lägga till .asax eftersom Binero verkar ha glömt det i standardinställningen. Se bilden för exempel på de två inställningarna längst ner.
Sen är det dags att knåpa ihop en httpd.ini (uppdatering: filen ska ha namnet .htaccess och inget annat) som styr hur ISAPI Rewrite 3 ska uppföra sig. Här under ser ni våran som fungerar fint om man vill ta bort .aspx ändelserna. Jag har dock inte lyckats att exkludera vissa mappar, så om någon kan se vad det är för fel på sista raden som ska blocka mappen "MappSomInteSkaOmskrivas" så uppskattar jag tips. Uppdatering: Denna rad måste ju givetvis ligga överst för att de andra reglerna ska ignoreras. Har nu uppdaterat skriptet som det ska se ut och då funkar det mycket bättre.
# Helicon ISAPI_Rewrite configuration file # Version 3.1.0.34
Idag flyttade Loopia en sida mellan två servrar som jag har utvecklat. Det gick ganska bra och Loopias support var till och med inne och ändrade absoluta sökvägarna inne i Web.config så att den matchade den nya filstrukturen.
I sluten av deras mail kom dock följande mening: "Access-databasen bör ni spara utanför public_html av säkerhetsskäl"
Grejen är bara den att det kom jag fram till själv att det inte fungerar i medium-trust miljö, redan i juli 2006. Hade då följande emaildiskussion med supporten. Ordningen på meddelandena är omvänd så börja läsa längst ner.
Kanske dags att lägga in det där stycket i kunskapsdatabasen nu ;)
Loopia:
Ja, det är en bra lösning och vi ska se till att lägga upp den i vår kunskapsdatabas.
Jag:
Tack för svaret. Kom på att man kan skapa en App_Data i .NET 2.0 som automatiskt blir privat.
Så /data mappen bredvid public_html är i stort sätt överflödig i och med övergången till 2.0. Man kan lika gärna ha databaser och alla privata filer i App_Data om jag har förstått det rätt.
Så det kanske ni kan tipsa era kunder om ifall någon mer frågar om samma sak.
Loopia:
Precis som det står på http://support.loopia.se/kb234 så tillåts inte filaccess utanför applikations-mappen (public_html) i och med lanseringen av .NET 2.0 Framework då Trust level är satt till "Medium trust". Undantag är databasfiler som används med t ex OleDb/ODBC som kan placeras utanför applikations-mappen.
De alternativ som finns är alltså att flytta filerna till public_html-mappen eller att använda en databas (Access) för att spar informationen i.
Återkom gärna om du har några frågor eller funderingar.
Jag:
Hej
Jag ser att ni har uppgraderat era servrar till 2.0 idag vilket är mycket uppskattat.
Nu märker jag dock att det inte går att komma läsa/skriva filer med hjälp av DirectoryInfo klassen.
DirectoryInfo di = new DirectoryInfo("h:\home\users\...");
Jag har last eran kunskapsdatabas och även länken till Microsoft som ni angett. Har provat en hel del grejer bland annat med MapPathSecure, PhysicalApplicationPath etc utan någon lycka. Jag vill kunna komma åt filer i en mapp som ligger i "data/" mappen utanför public-html.
Tänkte skriva en rad om en begränsning med Loopia's webbhotell-paket som jag fick erfara för ett tag sen. Det står ingenting i deras kunskapsdatabas om detta, så jag vill hjälpa andra som försöker göra samma sak i framtiden, genom att ge lite råd.
Det jag försökte var att genom deras LoopiaDNS peka ett domännamn till våra egna namnservrar. Detta fungerade mycket bra och hemsidan kördes fint.
Men vi ville även kunna använda Loopia's e-postsystem för samma domän och det var här problemen började.
Jag la till följande två MX-pekare i DNS-inställningarna på våra servrar:
Mailforward1.loopia.se Mailforward2.loopia.se
När jag sedan försökte skicka mail till det konton fick jag tillbaks följande felmeddelande (mailadresserna är påhittade):
Hi. This is the qmail-send program at s20.loopia.se.
I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out.
<reciever@website.domain>: 194.9.94.245 failed after I sent the message. Remote host said: 554 too many hops, this message is looping (#5.4.6)
--- Below this line is a copy of the message.
Return-Path: <sender@website.domain> Received: (qmail 99621 invoked from network); 17 Aug 2007 01:43:41 -0000 Received: from s4.loopia.se ([194.9.94.245]) (envelope-sender <sender@website.domain>) by s20.loopia.se (qmail-ldap-1.03) with SMTP for <reciever@website.domain>; 17 Aug 2007 01:43:41 -0000 Received: (qmail 52798 invoked from network); 17 Aug 2007 01:43:41 -0000 Received: from s20.loopia.se (194.9.94.3) by s4.loopia.se with SMTP; 17 Aug 2007 01:43:41 -0000 Received: (qmail 99305 invoked from network); 17 Aug 2007 01:43:39 -0000 Received: from s4.loopia.se ([194.9.94.245]) (envelope-sender <sender@website.domain>) by s20.loopia.se (qmail-ldap-1.03) with SMTP for <reciever@website.domain>; 17 Aug 2007 01:43:39 -0000 Received: (qmail 52791 invoked from network); 17 Aug 2007 01:43:39 -0000 Received: from s20.loopia.se (194.9.94.3) by s4.loopia.se with SMTP; 17 Aug 2007 01:43:39 -0000 Received: (qmail 98985 invoked from network); 17 Aug 2007 01:43:36 -0000 Received: from s4.loopia.se ([194.9.94.245]) (envelope-sender <sender@website.domain>) by s20.loopia.se (qmail-ldap-1.03) with SMTP for <reciever@website.domain>; 17 Aug 2007 01:43:36 -0000 ....
Detta är bara början på meddelandet det fortsätter i ca 100 hopp, i en slags evighetsloop.
Vid kontakt med supporten fick jag detta svar.
Domänen måste peka mot våra namnservrar för att du ska få vidarebefordringen att fungera genom att det är en konfiguration på vår namnserver som gör att det är vi som måste "hosta" domännamnet.
Så därför vill jag klargöra för andra som tänker försöka sig på samma sak. Det går INTE att använda Loopias e-post om du väljer att använda egna namnservrar.
Vi har tyvärr haft lite problem med att ta emot email den senaste veckan, fast bara på vår engelska domän (codeodyssey.com). Kontaktformuläret har dock inte fungerat på någon av våra två sajter, så har ni försökt ta kontakta det senaste så ber vi er försöka igen.
Det hela verkar bero på att vårt webbhotell, Web10.se, har en del problem när de genomfört ett byte av mailservrar. De har fortfarande inte löst det helt.
Men jag kan konstatera att det nya webbmail som är baserad på Sun Java System Communications Express 6 2005Q4 verkar riktigt bra. Förhoppningsvis ska mailen leveraras lite snabbare nu också. Innan har vi märkt en fördröjning på 10-20 minuter.
Sen verkar det som att vi äntligen fått en spamfilter på mailservern. Har sett att jobbiga mail markeras med [!RBLs] i ämnesraden. Har inte kollat något mer ingående på detta men ett spamfilter är verkligen uppskattat.
Om de även kan installera ASP.NET AJAX på servrarna, så kommer vi nog ligga kvar där ett tag till.
Kan verkligen rekommendera Web10.se för er som letar efter ett lite billigare webbhotell men ändå med väldigt bra support.
Vi är numera officiella återförsäljare åt Loopia och kan erbjuda riktigt bra rabatt på deras paketpriser. Loopia är idag Sveriges största och ledande webbhotell och listan på utmärkelser är lång. Kontakta oss om du vill veta mer.