Я использую S3 для хостинга изображений (в настоящее время более чем 5 миллионов файлов) и для резервных копий сервера. Я использовал EC2 для обработки изображений и SQS для координирования между этими задачами. Я должен сказать, что удалил EC2 с тех пор для той определенной задачи, не виртуализировали сервер, которым оказываются 10x как быстро. И я записал свое собственное решение организации очередей использования mysql, который оказался намного быстрее и не связывал близкую связь AWS.
существует важное сообщение при Кодировании Вслух [, http://www.codingaloud.com/2008/01/going-bankrupt-with-amazon-s3.html] названный Обанкротиться С Amazon S3, захватывает взгляд.
protected void Page_Load(object sender, EventArgs e)
{
string cssFileName = Path.GetFileName(this.Request.PhysicalPath).Replace(".aspx", ".css");
}
Некоторые короткие ответы уже приняты, поэтому для развлечения и поскольку вы, вероятно, захотите сделать это из других веб-форм, вот расширенное решение, которое повлияет на все веб-формы в вашем проекте одинаково. (включает код для получения имени файла по запросу.)
Создайте метод расширения для класса System.Web.UI.Page, поместив этот код в файл. Вам необходимо использовать .NET 3.5.
namespace MyExtensions {
using System.Web.UI;
static public class Extensions {
/* You can stuff anybody else's logic into this
* method to get the page filename, whichever implementation you prefer.
*/
static public string GetFilename(this Page p) {
// Extract filename.
return p.AppRelativeVirtualPath.Substring(
p.AppRelativeVirtualPath.IndexOf("/") + 1
);
}
}
}
Чтобы получить имя файла из любой веб-формы ASP.NET (например, в указанном вами методе загрузки):
using MyExtensions;
protected void Page_Load(object sender, EventArgs e) {
string aspxFileName = this.GetFilename();
}
Вызовите этот метод для любой веб-формы в вашем проекте.