2016-06-25 28 views
0

Ich benutze Quartz.Net in Asp.Net C#, um meine Aufgabe zu planen. Ich möchte in eine Datei schreiben, wenn ich ohne die MapPath es schreibe in die Datei wie erwartet (Hallo Welt).Kartenpfad in Quartz.net in ASP.NET & C#

Hier ist der Code, was ich geschrieben habe. Ich habe versucht HostingEnvironment.MapPath und Server.MapPath. Es ist einfach die Datei ohne Inhalt zu schreiben.

public void Execute(IJobExecutionContext context) 
{ 
    StreamWriter file = new StreamWriter("destination_actualPath\\hello1.txt", true); 
    file.WriteLine("Hello world " + Server.MapPath("../Data")); 
    file.Close(); 
} 

Ja Diesen Ordner Data Sie in meinem Projektverzeichnis vorhanden sind. Diese Funktion befindet sich in der Klasse IJob. Wenn ich eine neue Methode schreibe (anders als execute), schreibt sie in die Datei (Hallo Welt und Pfad), sie schreibt keinen Inhalt in die Datei, wenn sie sich in dieser Execute Methode befindet.

+0

"Nicht funktioniert" ist keine richtige Problembeschreibung. Bitte lesen Sie [fragen] und geben Sie alle relevanten Informationen und Ihre Recherche an. Außerdem hoffe ich, dass Sie feststellen, dass Webserver nicht auf den Desktop des Clients schreiben können. Es funktioniert während der Entwicklung, da Ihre Maschine gleichzeitig als Server und als Client fungiert. – CodeCaster

+0

Schreiben auf den Desktop ist nicht das Problem. Das Problem ist das Lesen des Pfades 'Server.MapPath (" ../ Data ")' –

+0

Ich frage, was das Problem ** ist **. Was erwartest du, was passiert eigentlich? – CodeCaster

Antwort

4

versuchen

file2.WriteLine("Hello World " + System.Web.Hosting.HostingEnvironment.MapPath("~/Data"));

HttpContext nicht in Quartz.net erlaubt ist, so haben wir HostingEnvironment stattdessen verwenden. Hier verweisen wir normalerweise auf den virtuellen Pfad unter Verwendung von ~, nicht ../. Ich schätze, das ist dein Fehler.

-1

können Sie die System.Web.Hosting.HostingEnvironment.MapPath-Methode verwenden.

+0

Ich habe versucht sowohl System.Web.Hosting.HostingEnvironment.MapPath und httpcontext.current.server.mappath –

+0

es ist nicht in dieser Frage nützlich –