Azure 云服务 space 磁盘空间不足
Azure Cloud Service There is not enough space on the disk
我遇到错误:Exception Details: System.IO.IOException: There is not enough space on the disk.
我知道发生这种情况是因为当用户访问我的页面时,会下载 him/her 的 zip 文件然后解压缩。每个 zip 大约有 45 MB,解压缩后大约有 50 MB。在几次访问页面(我相信下载 1 GB 时)并在本地保存到云服务光盘后,我已经开始收到此错误
我 运行 这是 Azure 上的云服务,服务大小为中等:
本地资源 = 489 GB
应用程序 = 约。 1.5 GB
有什么方法可以增加我的光盘容量,这样我就可以节省比方说 50 GB 的空间?
编辑
这是我出错的部分代码:
using (var client = new WebClient())
{
client.DownloadFile(link, HostingEnvironment.MapPath("~/ebookDownloads/" + name));
using (ZipFile zip = ZipFile.Read(HostingEnvironment.MapPath("~/ebookDownloads/" + name)))
{
foreach (var e in zip)
{
e.Extract(folderToCreate, ExtractExistingFileAction.OverwriteSilently); // overwrite == false
// var filePath = HttpContext.Server.MapPath("~/ebookDownloads/" + nameOfFolder + "/" + e.FileName);
var filePath = Path.Combine(Server.MapPath("~/ebookDownloads/" + nameOfFolder), e.FileName);
listOfLinks.Add(new EbooksHelper { Name = e.FileName, Size = BytesToString(new FileInfo(filePath).Length), Url = "/platinum/DownloadEbook?name=" + e.FileName });
var y = e;
}
}
}
您可以使用添加到您的服务定义中的本地存储资源,例如:
<ServiceDefinition>
<WebRole name="MyService_WebRole" vmsize="Medium">
<LocalResources>
<LocalStorage name="LocalStorageName" sizeInMB="50000" cleanOnRoleRecycle="false" />
</LocalResources>
</WebRole>
</ServiceDefinition>
要从运行时访问本地存储,您可以使用 RoleEnvironment.GetLocalResource(name)
来获取本地存储的路径。
var localResource = RoleEnvironment.GetLocalResource("LocalStorageName");
var rootPath = localResource.RootPath
我遇到错误:Exception Details: System.IO.IOException: There is not enough space on the disk.
我知道发生这种情况是因为当用户访问我的页面时,会下载 him/her 的 zip 文件然后解压缩。每个 zip 大约有 45 MB,解压缩后大约有 50 MB。在几次访问页面(我相信下载 1 GB 时)并在本地保存到云服务光盘后,我已经开始收到此错误
我 运行 这是 Azure 上的云服务,服务大小为中等:
本地资源 = 489 GB 应用程序 = 约。 1.5 GB
有什么方法可以增加我的光盘容量,这样我就可以节省比方说 50 GB 的空间?
编辑
这是我出错的部分代码:
using (var client = new WebClient())
{
client.DownloadFile(link, HostingEnvironment.MapPath("~/ebookDownloads/" + name));
using (ZipFile zip = ZipFile.Read(HostingEnvironment.MapPath("~/ebookDownloads/" + name)))
{
foreach (var e in zip)
{
e.Extract(folderToCreate, ExtractExistingFileAction.OverwriteSilently); // overwrite == false
// var filePath = HttpContext.Server.MapPath("~/ebookDownloads/" + nameOfFolder + "/" + e.FileName);
var filePath = Path.Combine(Server.MapPath("~/ebookDownloads/" + nameOfFolder), e.FileName);
listOfLinks.Add(new EbooksHelper { Name = e.FileName, Size = BytesToString(new FileInfo(filePath).Length), Url = "/platinum/DownloadEbook?name=" + e.FileName });
var y = e;
}
}
}
您可以使用添加到您的服务定义中的本地存储资源,例如:
<ServiceDefinition>
<WebRole name="MyService_WebRole" vmsize="Medium">
<LocalResources>
<LocalStorage name="LocalStorageName" sizeInMB="50000" cleanOnRoleRecycle="false" />
</LocalResources>
</WebRole>
</ServiceDefinition>
要从运行时访问本地存储,您可以使用 RoleEnvironment.GetLocalResource(name)
来获取本地存储的路径。
var localResource = RoleEnvironment.GetLocalResource("LocalStorageName");
var rootPath = localResource.RootPath