Face à un problème avec IIS 8, Windows Server 2012. Application Web écrite dans asp.net C# mvc razor 5 Je suis confronté à un verrouillage de fichier (image fichier) par IIS. J'ai une page de profil d'utilisateur où j'affiche la photo de profil d'utilisateur. J'ai remarqué que dès que j'affiche simplement la page de profil dans le navigateur, l'image de profil sur le disque est verrouillée par l'IIS. Photo de profil est affichage avec une balise img comme illustré ci-dessous (Model.ImagePath est un chemin de chaîne)Fichier automatiquement verrouillé par IIS 8 (C#, ASP.net mvc rasoir)
string ImageUrl = "";
if (Model.ImagePath == null || Model.ImagePath == "/AppContents/1/Speaker/")
{
ImageUrl = "http://" + HttpContext.Current.Request.Url.Authority + "/AppContents/1/avatar.png";}
else
{
ImageUrl = "http://" + HttpContext.Current.Request.Url.Authority + Model.ImagePath;
}
...
<section class="col col-5" style="padding: 0px 0px 0px 4px;">
<label class="label">Profile Picture <span class="">(120px X 120px)</span> </label>
<div class="editor-label">
<span>
<a onclick="return launchEditor_avatar('blah','@ImageUrl');" href="#">
<img id="blah" style="margin:10px;width: auto !important;height: auto !important;max-height: 85px; max-width: 120px;min-height: auto;min-width: 50px;" src="@ImageUrl" />
</a>
</span>
<span style="border: 1px initial #808080">@Html.CheckBoxFor(model => model.moderator) Is a Moderator
</span>
</section>
Dès que la page est rendu l'image de profil sur le serveur local est verrouillé. Cela crée un problème en raison de la page de profil, l'utilisateur peut modifier l'image. L'image ainsi éditée (en utilisant aviary haute résolution) n'est pas enregistrée car elle dit "" System.IO.IOException: Le processus ne peut pas accéder au fichier 'C: \ Users \ webapp \ 73a.jpg' parce qu'il est utilisé par un autre processus Sur mon instance Windows locale (Windows 10, IIS 8), ce problème apparaît, mais après 3 à 4 minutes, le verrou est automatiquement supprimé et le fichier est enregistré après l'édition. S'il vous plaît guidez si quelqu'un a fait face à un problème similaire
J'ai vérifié l'outil sysinternal "handle.exe" et je vois qu'il pointe vers le processus de travail IIS.Quelqu'un peut-il guider s'il vous plaît comment faire pour résoudre ce problème
C:\Downloads\Handle>handle.exe C:\Users\webapp\73a.jpg
Nthandle v4.1 - Handle viewer
Copyright (C) 1997-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
w3wp.exe pid: 2720 type: File 794: C:\Users\webapp\73a.jpg
w3wp.exe pid: 2720 type: File A34: C:\Users\webapp\73a.jpg
w3wp.exe pid: 2720 type: File A9C: C:\Users\webapp\73a.jpg