我有這種場景,服務器上運行的是Windows服務。每隔大約一小時它讀取一個日誌文件並將內容保存到db。 現在,將會有三個文件,這些文件必須被讀取並保存到三個不同的表格中。 (我會從配置文件中讀取這些連接字符串等)這可以通過我知道的線程來實現。所以我想在線程中調用現有的'readfile'方法。關於如何在c#中實現線程的問題
我不熟悉線程,但這是要走的路嗎?
NameValueConfigurationCollection config = ConfigurationManager.GetSection("LogDirectoryPath") as NameValueConfigurationCollection;
foreach (DictionaryEntry keyvalue in configs)
{
Thread t = new Thread(new ThreadStart(ExecuteProcess(keyvalue.Key.ToString())));
t.IsBackground = true;
t.Start();
}
private void ExecuteProcess(string path)
{
var xPathDocument = new XPathDocument(path);
XPathNavigator xPathNavigator = xPathDocument.CreateNavigator();
string connectionString = GetXPathQuery(
xPathNavigator,
"/connectionString/@value");
string commandText = GetXPathQuery(
xPathNavigator,
"/commandText/@value");
string filePath = GetXPathQuery(
xPathNavigator,
"/filePath/@value");
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
ProcessFiles(sqlConnection, commandText, filePath);
}
是否必須使該方法爲靜態?那麼使用的變量呢?