Привет, в моем приложении mvc3 у меня есть следующая проблема: Мои пользователи могут загрузить изображение после того, как они вошли в систему с аутентификацией форм.Сейчас есть клиенты, которые жалуются, что не могут загрузить файл.Я исследовал эту проблему и вижу, что при загрузке изображения все сеансы теряются.Они больше не входят в систему, поэтому при попытке получить логин для помещения изображения в базу данных возникает ошибка ссылки на объект.Я вижу, что изображение загружено правильно, но они вышли из системы, и я думаю, что все сеансы потеряны.возможно, это из-за того, что пул приложений был переработан или рабочий процесс?Они не могут загружать изображения размером более 500 КБ, так почему же пул приложений должен перерабатываться?Кто-нибудь может подсказать, что мне делать?заранее спасибо.
РЕДАКТИРОВАТЬ добавил код:
Просмотр:
@using (Html.BeginForm("Upload", "Fotos", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<label>Afbeelding:</label><br />
<input type="file" name="file" id="file" title="Kies uw afbeelding" />
<br />
<label>Titel:</label><span style="color:Red;font-weight:bold;"> @MvcHtmlString.Create(ViewBag.titel)</span><br />
<input type="text" name="Title" value="" />
<br /><label>Omschrijving:</label><span style="color:Red;font-weight:bold;"> @MvcHtmlString.Create(ViewBag.omschrijving)</span><br />
<textarea name="Beschrijving" rows="4" cols="25"></textarea><br /><br />
<input type="submit" value="Foto uploaden" />
}
это код контроллера
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file, string Title, string Beschrijving)
{
try
{
MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */);
string uploader = currentUser.UserName;
string uploadermail = currentUser.Email;
using (var ctx = new DB_24468_weerstatEntities())
{
var imagetype = file.ContentType;
if (imagetype.Contains("image"))
{
if (file.ContentLength > 0 && file.ContentLength < 500000)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Content/Images/Weerfotos"), fileName);
file.SaveAs(path);
var link = "/Content/Images/Weerfotos/" + fileName;
var image = new Image();
image.Name = fileName;
image.Url = "../.." + link;
image.Approved = false;
image.Username = uploader;
image.Description = Beschrijving;
image.Title = Title;
ctx.AddToImages(image);
ctx.SaveChanges();
}
}
}
return View();
}
catch (Exception ex)
{
ErrorSignal.FromCurrentContext().Raise(ex);
throw;
}
Код не работает напрямуюпри попытке получить текущее имя пользователя или адрес электронной почты, потому что сеанс потерян .. Если я не получаю никаких сведений о сеансе, все работает нормально, но пользователь вышел из системы после публикации своего изображения ..