2016-06-25 8 views
0

Я использую Quartz.Net в Asp.Net C# для планирования моей задачи. Я хочу писать в файл, когда я пытаюсь без MapPath, он записывает файл в ожидании (Hello world).Путь к карте в Quartz.net в ASP.NET и C#

Вот код, который я написал. Я пробовал HostingEnvironment.MapPath и Server.MapPath. Это просто запись файла без какого-либо контента.

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

Да эта папка Data существуют в моем каталоге проекта. Эта функция находится внутри класса IJob. Если я пишу новый метод (кроме выполнения), он записывает файл (привет мир и путь), он не пишет никакого содержимого в файл, если он находится внутри этого метода Execute.

+0

«Не работает» не является надлежащим описанием проблемы. Пожалуйста, прочитайте [ask] и предоставьте всю соответствующую информацию и ваши исследования. Кроме того, я надеюсь, вы понимаете, что веб-серверы не могут писать на рабочий стол клиента. Он работает во время разработки, потому что ваша машина действует как сервер и клиент в то время. – CodeCaster

+0

Письмо на рабочий стол не является проблемой. Проблема в том, что чтение пути «Server.MapPath (« ../ Data »)' –

+0

Я спрашиваю, в чем проблема ** **. Что вы ожидаете, что на самом деле происходит? – CodeCaster

ответ

4

попробовать

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

HttpContext не допускается в Quartz.net, поэтому мы должны использовать HostingEnvironment вместо этого. Здесь мы обычно ссылаемся на виртуальный путь, используя ~, а не ../. Думаю, это твоя ошибка.

-1

вы можете использовать System.Web.Hosting.HostingEnvironment.MapPath метод.

+0

Я пробовал как System.Web.Hosting.HostingEnvironment.MapPath, так и httpcontext.current.server.mappath –

+0

это не полезно в этом вопросе –

 Смежные вопросы

  • Нет связанных вопросов^_^