Χρησιμοποιώ τον debug logger που διάβασα στο http://blogs.msdn.com/csharpfaq/archive/2006/03/27/562555.aspx που δίνει τον κώδικα
using System.IO;
using System.IO;
public string GetTempPath()
{
string path = System.Environment.GetEnvironmentVariable("TEMP");
if (!path.EndsWith("\\")) path += "\\";
return path;
}
public void LogMessageToFile(string msg)
{
System.IO.StreamWriter sw = System.IO.File.AppendText(GetTempPath() + "My Log File.txt");
try
{
string logLine = System.String.Format("{0:G}: {1}.", System.DateTime.Now, msg);
sw.WriteLine(logLine);
}
finally
{
sw.Close();
}
}
και
μπορούμε να το χρησιμοποιήσουμε παντού όπως και γίνεται στο OnStart ή στο OnStop καλώντας το ως: LogMessageToFile("Service Started from user");
αλλά αν την χρησιμοποιήσω στην main ή στην static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) οπότε και παίρνω:
An object reference is required for the nonstatic field, method, or property 'TestService.Service1.LogMessageToFile(string)'
Γνωρίζει κάποιος τι συμβαίνει ώστε να μπορώ να καλώ γενικά την function αυτή ή οποιαδήποτε άλλη μπορεί να χρειαστώ χωρίς να παίρνω αυτό το λάθος;
Ευχαριστώ εκ των προτέρων