Starta om alla IIS Express-sajter när Webmatrix krånglar

Vet inte vad som gick fel. Installerade en Wordpress-sajt. Tog hela mappen från Documents och la den i min mapp där jag vill ha kod. Men sen startade inte Webmatrix alls. Kolladde igenom alla konfigurationsfiler och provade massa saker med filrättigheter osv, men inget hjälpte.

Till sist hittade jag denna tråd på StackOverflow och körde detta från en promt.

cd C:\Program Files (x86)\IIS Express
iisexpress.exe /apppool:Clr4IntegratedAppPool

Och nu funkar sajten igen.

By Jesper Lind

Söka i början och slutet på SQL-strängar

Konstigt att jag under 10 år med SQL inte har behövt göra detta sökmönster. Hittade svaret på bytes.com:

startswith: WHERE x LIKE @Value + '%'

endswith: WHERE x LIKE '%' + @Value

contains: WHERE x LIKE '%' + @Value + '%'

Bakgrunden var att jag migrerade en sajt till nytt webbhotell. På detta fungerade det inte att ha filnamn på bilder som börjar på en punkt.

I mitt fall började alla mina bilder med punkt följd av ett underscore så jag kunde få fram alla med shjälp av följande sökning.

Har filnamnen i en db-tabell och fick fram dem med följande sökning:

SELECT [FileName] FROM [MediaItem] WHERE [FileName] LIKE  '._%'

Och sen bytte ut namnet på alla dessa så de startar med img istället för punkten.

UPDATE [MediaItem] SET [FileName]=REPLACE([FileName],'._','img_') WHERE [FileName] LIKE  '._%';

Sen för att byta ut namnen på själva filerna så hittade jag ett program som funkade, Bulk Rename Utility. Det verkar vara ett rätt avancerat verktyg och finns säkerligen mer lättanvända. Men funkade för mig.


By Jesper Lind

Ta bort mellanrum och tab-tecken från databas-värde

Jobbar med en databas där jag för länge sen hade importerat emailadresser från Excel eller liknande, kommer intee ihåg nu.

Märkte dock att det var massa tomma spaces efter själva emailadressern och letade efter ett sätt att ta bort dem. Detta svar kändes ju eom en bra lösning.

UPDATE [User] SET Email= LTRIM(RTRIM(Email))

Mellanrum kvarstod dock och då funderade jag istället på om de kanske var tab-tecken. Mycket riktigt efter ett tips så kunde jag köra det som behövdes.

UPDATE [User] SET Email=REPLACE(Email,char(9),'')

By Jesper Lind

Uppgradera från ASP.NET Mvc 2 till Mvc 3

1. Fixa web.configs

Sök på följande sträng i ditt projekt (finns i några web.configs):

System.Web.Mvc, Version=2.0.0.0

Och replaca den med denna:

System.Web.Mvc, Version=3.0.0.0

Se till att du har följande längst ner i web.config:

<runtime>    
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>     
</assemblyBinding> 
</runtime>
Referera rätt namespace:
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

2. Sätt project GUID

Högerklicka på ditt projekt och välj unload. Sen edit project.

Byt ut (Gamla Mvc 2):

F85E285D-A4E0-4152-9332-AB1D724D3325

Mot (Mvc 3):

E53F8FEA-EAE0-44A6-8774-FFD645390401

3. Lägg till värden i app.config

 <add key="webpages:Version" value="1.0.0.0"/>
 <add key="ClientValidationEnabled" value="true" />
 <add key="UnobtrusiveJavaScriptEnabled" value="true" />
By Jesper Lind

Redigera vilken sajt som helst i webbläsaren

Ok det här är coolt faktiskt. Paul Buchheit, skaparen bakom bland annat Gmail och Friendfeed, postade just på den senare sajten en kod för att kunna redigera text direkt i webbläsaren. Den gör body till en contenteditable helt enkelt.

Jag har fått det att fungear på Safari, Firefox och Chrome, mac versioner. Och jag hör folk som säger det funkar på IE och PC versioner också.

Lägg till följande som ett bokmärke, akivera och börja skriv direkt på skärmen.

javascript:document.body.contentEditable=(document.body.contentEditable!='true');void%200

Eller klicka på denna länk för att testa på vår sajt.

By Jesper Lind

Redirecta allt till root med htaccess

Hade fått tillgång till en ftp-server med en väldigt massa filer på från många år tillbaka som är indexerade av google. En herrans röra kan man säga.

Tanken är att vi ska utveckla en ny sajt och under tiden så ville jag att inga av de gamla filerna skulle gå att nå. Servern är av typen Apache som jag inte är så van att arbeta med. Så efter ett intensivt googlande och testande så tror jag att jag fått till en bra redirect-regel.

Denna redirectar endast html och php-filer och fungerar på mappar. Alla anrop på nämnda dokumenttyper skickas till rootmappen.

Options +FollowSymlinks RewriteEngine On RewriteCond %{THE_REQUEST} ^GET\ .*(php|html|htm)\ HTTP RewriteRule ^(.*).(php|html|htm)$ / [R=301,L]
By Jesper Lind

Snabb Firefox

firefox3-feature

Dessa tips kommer från Jim Westergren's "Make Firefox run up to 4 times faster" och gäller 3.0.9 av webbläsaren Firefox. För mer detaljerad information om vad varje inställning läs mer på Jim's artikel.

Dessa instälningar passar bra för användare med bredband, surfar mycket och använder många flikar i webbläsaren samtidigt.

För att ändra dessa värden skriv about:config i adressfältet, tryck enter och bekräfta att du lovar att vara försiktig. Sen ändra befinfliga värden enligt följande.

browser.history_expire_days_min;10
browser.sessionhistory.max_total_viewers;1
browser.tabs.tabMinWidth;80
layout.spellcheckDefault;2
network.http.max-connections;100
network.http.max-connections-per-server;20
network.http.max-persistent-connections-per-server;8
network.http.pipelining;true
network.http.pipelining.maxrequests;8
network.http.proxy.pipelining;true
network.http.request.max-start-delay;0
network.prefetch-next;false

Två värden som inte finns i standardkonfigurationen kan även läggas till:

config.trim_on_minimize;true
nglayout.initialpaint.delay;100

Ni som har många flikar öppna kan också prova att förminska dess bredd för att fler ska få plats:

browser.tabs.tabMinWidth;70

Med dessa ändringar blev läsaren äntligen snabb. Upplevde en stor förbättring i bland annat Google Reader.

By Jesper Lind

Redigera hosts-filen på OS X

DNS-servrar håller reda på vilka domännamn som ska kopplas till vilket IP. Ibland kan man vilja överlagra dessa på sin egen maskin, t ex när man utvecklar en testsajt eller liknande.

Hur man gör för att ändra sin hosts-fil på Windows har vi skrivit om tidigare.

På OS X är förhavandet liknande i senare versioner av operativstemet, här är Apples guide.

Man måste ha rättigheter till rooten för att kunna se private-mappen filen ligger under. Vi har tidigare skrivit om hur man visar gömda filer på OS X.

När man väl har tillräckliga rättigheter navigerar man till mappen /private/etc/hosts och öppnar man den får upp något som liknar detta.

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost

Man måste dock vara inloggad som root-användare för att spara ändringar, så det räcker inte bara att öppna den i en textredigerare och försöka spara. Här är två sätt man kan ändra den.

1. Ändra hosts genom att skriva över med kopia

Kopiera filen och lägg den på skrivbordet. Redigera spara. Dra den sen till /private/etc/hosts och släpp. Nu får du skriva in ditt lösenord för att bekräfta att du har rättigheter att modifiera filen.

2. Ändra hosts med textredigerare i Terminalen

Med detta sätt behöver du inte slå på att visa gömda filer som vi skrev inledningsvis om. Här använder vi en redigera som startas från terminalen. Finns en del men i detta exemplet använder vi en som heter GNU nano 2.0.1.

Öppna först teminalen.

Skriv: sudo pico /private/etc/hosts

Bekräfta ditt lösen för att få root-rättigheter.

Nu får du upp textredigeraren och du kan modifiera filinnehållet. Spara ändringar genom ctrl-o och stäng ner editorn med ctrl-x.

By Jesper Lind