Laden...

Verzeichnis für Bilder

Erstellt von Curse4Life vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.138 Views
C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren
Verzeichnis für Bilder

Hallo,

die Frage geht an alle die schon mal ein .NET Webprojekt veröffentlicht haben.

Ich habe ein Projekt bei dem die User Profilbilder hochladen können, diese möchte natürlich gerne im Dateisystem speichern, aber ich habe das Problem, das die Webanwendung dann immer neu startet.

Gibts ein Magic Verzeichnis das dieser IIS Watcher nicht abtastet, oder muss man das irgendwie per Web.config konfigurieren?
Oder muss es oberhalb des Projektverzeichnisses sein, was aber ja blöd wäre, da a die Relation zum Projekt flöten geht und weil ich dann im inetpub/wwwroot wäre, was unschick wäre, wenn ich noch weitere Projekte darin speichere, die ggf. auch Bilder verlangen.

Wie macht ihr das?

16.827 Beiträge seit 2008
vor 12 Jahren

Hallo,

warum sollte die Webanwendung neu starten?
Das tut sie eigentlich nur, wenn sie im Idle-Modus war, oder ein unbehandelter Fehler aufgetreten ist - hier vermute ich zweiteres.

Prinzipiell speicher ich die vom User hochgeladenen Dateien nicht im Projekt-Ordner, sondern auf zB D:\Applications<ApplicationName>\UserData<UserName>. Das hat aber den einfachen Grund, dass es so für mich einfacher ist, die Projekt-relevanten Dateien zu verwalten und im Falle einer Datenschutzanfrage hier nicht lang rumsuchen muss.
Normalerweise gibt es aber kein Problem einen Content-Ordner innerhalb der Anwendung dafür zu nutzen. Dafür ist es ausgelegt, da Du ja im Regelfall bei Miet-Providern keine andere Möglichkeit hast.

PS: was meinst Du denn mit IIS Watcher?

Gruß

C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren

warum sollte die Webanwendung neu starten?

Warum weiß ich nicht, es gibt aber extra diesen Trick, das Verhalten auszuschalten, aber das ist mir ein bisschen zu krass ins System reingefummelt!

Und suche deshalb nach einer sanften Alternative


PropertyInfo propInfo = typeof(System.Web.HttpRuntime).GetProperty("FileChangesMonitor", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
			object o = propInfo.GetValue(null, null);
			FieldInfo f = o.GetType().GetField("_dirMonSubdirs", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase);
			object monitor = f.GetValue(o);
			MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", BindingFlags.Instance | BindingFlags.NonPublic);
			m.Invoke(monitor, new object[] { });

16.827 Beiträge seit 2008
vor 12 Jahren

Also mir ist echt schleierhaft, was das für eine Funktion sein soll, die automatisch die Webanwendung abschießt, wenn man im Projektordner eine Datei speichert - und die auch noch Konfigurierbar ist.

Das ist doch sicherlich eine Erweiterung und hat mit dem Standardverhalten von ASP / IIS nicht viel zutun!?

C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren

Ahh, ich habe noch mal gegoogelt und das Problem das diese Funktion löst ist, wenn man Verzeichnisse die Projektverzeichnis liegen löscht, dann startet die Applikation neu, also würdest du beispielsweise anders als Facebook, wenn der User sein Profil löscht, auch das Bilderverzeichnis des Users löschen, dann startet die Applikation neu!

16.827 Beiträge seit 2008
vor 12 Jahren

Welche Funktion soll das sein? ASP-seitig? Projekt-seitig? IIS-seitig?
Ich sehe noch keinen Zusammenhang zwischen Löschen und Webapplikations-Neustart.

Das wäre ein massiver "Fehler" bei großen Webanwendungen und alles andre als tragbar.
Ich habe nach IIS Watcher gesucht, den Du genannt hattest, und das sieht nach einer externen Monitoring-Lösung aus.

C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren

Ist auch anscheinend ein Bug, hier ein paar Adressen zu dem Problem:

http://fuchangmiao.blogspot.com/2008/12/deleting-subdirectory-restarts.html

Bug fix – Application restarts on directory delete in ASP.net

Stop IIS AppDomain Restarts When a Folder is Deleted

Bin ich ja froh und auch ein bisschen stolz das ich "Abt" mal etwas neues erzählen konnte 😃

16.827 Beiträge seit 2008
vor 12 Jahren

Schaut nach ASP.NET WebForms aus - da kenn ich mich eh nich aus 😉
Aber wenigstens weißt nun, was das Problem ist.

PS: bitte in Zukunft eindeutige Linknamen verwenden 8)

Und Abt muss man nich in Anführungszeichen setzen - das ist wirklich mein Nachname 😉

3.170 Beiträge seit 2006
vor 12 Jahren

Hallo Curse4Life,

das von Dir beschrieben Phänomen kenne ich in der Weise auch nicht, aber

Gibts ein Magic Verzeichnis das dieser IIS Watcher nicht abtastet

Du könntest mal versuchen, den App_Data-Ordner zu benutzen. Der ist eigentlich für dynamische Daten gedacht. Das Problem daran ist, dass der IIS Dateien aus diesem Ordner nicht direkt ausliefert, Du bräuchtest also zusätzlich noch einen HttpHandler, um diese Files für die Benutzer verfügbar zu machen.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca