Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
A Cloud Services (klasszikus) 2024. szeptember 1-étől minden ügyfél számára elavult. A Microsoft leállítja és megszünteti a meglévő futó telepítéseket, és az adatok 2024 októberétől végleg elvesznek. Az új üzemelő példányoknak az Azure Cloud Services új Azure Resource Manager-alapú üzemi modelljét (kiterjesztett támogatás) kell használniuk.
A felhőszolgáltatás-feldolgozó vagy webszerepkör alapértelmezett ideiglenes könyvtárának maximális mérete 100 MB, ami valamikor megtelhet. Ez a cikk azt ismerteti, hogyan kerülheti el, hogy az ideiglenes könyvtárban ne fogyjon el a szabad hely.
Miért fogy el a hely?
Az alkalmazásban futó kódhoz a TEMP és a TMP standard Windows-környezeti változók érhetők el. Mind a TEMP, mind a TMP egyetlen könyvtárra mutat, amelynek maximális mérete 100 MB. A címtárban tárolt adatok nem maradnak meg a felhőszolgáltatás életciklusa során. Ha a felhőszolgáltatás szerepkörpéldányai újrafeldolgozva vannak, a címtár törlődik.
Javaslat a probléma megoldására
Hajtsa végre az alábbi alternatívák egyikét:
- Konfiguráljon egy helyi tárolóerőforrást, és közvetlenül érje el a TEMP vagy a TMP használata helyett. Ha az alkalmazásban futó kódból szeretne hozzáférni egy helyi tárolóerőforráshoz, hívja meg a RoleEnvironment.GetLocalResource metódust .
- Konfiguráljon egy helyi tárolási erőforrást, és irányítsa a TEMP és TMP könyvtárakat úgy, hogy azok a helyi tárolási erőforrás elérési útjára mutassanak. Ezt a módosítást a RoleEntryPoint.OnStart metóduson belül kell végrehajtani.
Az alábbi példakód bemutatja, hogyan módosíthatja a TEMP és a TMP célkönyvtárait az OnStart metóduson belül:
using System;
using Microsoft.WindowsAzure.ServiceRuntime;
namespace WorkerRole1
{
public class WorkerRole : RoleEntryPoint
{
public override bool OnStart()
{
// The local resource declaration must have been added to the
// service definition file for the role named WorkerRole1:
//
// <LocalResources>
// <LocalStorage name="CustomTempLocalStore"
// cleanOnRoleRecycle="false"
// sizeInMB="1024" />
// </LocalResources>
string customTempLocalResourcePath =
RoleEnvironment.GetLocalResource("CustomTempLocalStore").RootPath;
Environment.SetEnvironmentVariable("TMP", customTempLocalResourcePath);
Environment.SetEnvironmentVariable("TEMP", customTempLocalResourcePath);
// The rest of your startup code goes here…
return base.OnStart();
}
}
}
Következő lépések
Olvassa el az Azure Web Role ASP.NET ideiglenes mappa méretének növelését ismertető blogot.
További hibaelhárítási cikkek a felhőszolgáltatásokról.
Ha szeretné megtudni, hogyan háríthatja el a felhőszolgáltatás szerepköreivel kapcsolatos problémákat az Azure PaaS számítógépdiagnosztikai adataival, tekintse meg Kevin Williamson blogsorozatát.