Fel vid uppgradering till .NET 3.5
Har precis hjälpt en kund som fick problem när deras webbhotell
valde att uppgradera sina gamla windows 2003-servrar med ASP.NET
2.0 till Win 2008 och ASP.NET 3.5.
Det var flera fel som uppstod...
Inget ASP.NET Ajax Installerat
Det första felmeddelandet som visades var följande:
Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' could not be loaded.
Detta fel uppstår när Umbraco försöker att komma åt ASP.NET Ajax. Webbhotellet hade glömt, eller stuntat i att återinstallera detta på servern vilket gjorde att dessa assemblies behövde adderas till bin-katalogen. Att kopiera in följande filer löste problemet:
System.Web.Extensions.Design.dll
System.Web.Extensions.dll
Uppdatera Web.Config för att passa .NET Framework 3.5
Den nya servern körde .NET framwork 3.5 istället för 2.0 vilket
gjorde att kunden ville köra Umbraco-instanserna i denna version.
Detta kräver relativt stora ändringar i web.config. Läs mer om
denna uppgraderingen här:
http://umbraco.org/26156
Lösenord fungerade inte i Umbraco Backend
På en av sajterna dök ett sista problem upp. Användarnas
lösenord i backend fungerade inte korrekt efter uppgraderingen. De
flesta umbracoinstanserna som kördes var 4.0.2.1 - den version där
hashade lösenord infördes som standard. Den instans som krånglade
körde version 4.0.0 så lösningen var enkel:
Lösenorden i databasen var inte hashade, men i den nya
web.config-filen förutsattes att lösenorden var hashade. Följande
ändring gjordes:
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
<add name="AspNetSqlMemberShipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
</providers>
</membership>
Blev till:
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" />
</providers>
</membership>
Dvs - passwordFormat="Hashed" raderades så att umbraco inte skulle försöka hasha lösenord när de ska matchas vid inloggning.


