Я установил VS 2008. Когда я пытаюсь создать проект, я получаю сообщение об ошибке :
Невозможно открыть включаемый файл: 'afxcontrolbars.h': нет такого файла или каталога
Итак, я полагаю, мне нужно установить для этого ленточные элементы управления. Подскажите, пожалуйста, где SDK доступен для скачивания? Ссылка была бы очень полезной; Сам погуглил, но не нашел. : или потому что в файле конфигурации не может быть найден ни один элемент службы, соответствующий имени службы, или потому что в элементе службы не определены конечные точки.
Я попытался проверить все возможные причины, которые смог найти. Вот описание службы в файле App.Config:
Все сущности имеют имена с их пространствами имен , так что проблема не в этом. Файл App.Config помещается в bin \ Debug - именно там, откуда запускается служба NT.
Но когда я изменяю свой ServiceBase
потомок OnStart ()
из исходной реализации:
public class RequestProcessorWindowsService : ServiceBase {
public ServiceHost serviceHost = null;
//other methods skipped
protected override void OnStart(string[] args)
{
if( serviceHost != null ) {
serviceHost.Close();
}
serviceHost = new ServiceHost( typeof(RequestProcesssorImpl) );
serviceHost.Open();
}
}
к следующему, чтобы он вызывал AddServiceEndpoint ()
, служба запускалась нормально (но я не могу добавить ссылку на нее, поэтому я предполагаю, что что-то еще пошло не так):
public class RequestProcessorWindowsService : ServiceBase {
public ServiceHost serviceHost = null;
//other methods skipped
protected override void OnStart(string[] args)
{
if( serviceHost != null ) {
serviceHost.Close();
}
Uri baseAddress = new Uri("http://localhost:8095/RequestProcessorService");
serviceHost = new ServiceHost( typeof(RequestProcesssorImpl), baseAddress );
serviceHost.AddServiceEndpoint( typeof(IRequestProcessor), new BasicHttpBinding(), baseAddress );
serviceHost.Open();
}
}
Почему не Моя служба не запускается при настройке через приложение. Каждый сценарий не содержит ничего, кроме операторов UPDATE, каждая из которых обновляет 1 строку в таблице (MyISAM). Если строки не было внутри одной ...
У меня есть сценарий PHP, который импортирует сценарии sql в базу данных MySQL 5.
Каждый сценарий не содержит ничего, кроме операторов UPDATE
, каждая из которых обновляет 1 строку в таблице (MyISAM).
Если строка не находилась в одном из этих сценариев в течение 2 дней, ее необходимо удалить. В таблице есть столбец с отметкой времени. Однако, когда оператор UPDATE не изменяет никакие столбцы, временная метка не обновляется, и я не могу сказать, была ли строка в файле импорта или нет. Есть ли способ принудительно обновить эту метку времени, даже если данные не меняются?
РЕДАКТИРОВАТЬ: Дальнейшие пояснения.
Файлы импорта представляют собой сжатые файлы, содержащие около 450 000 строк, каждая строка представляет собой 1 оператор UPDATE.
Вот функция PHP, которая обрабатывает файлы импорта:
private function ImportFile($filename) {
$importfile = gzopen($filename, "r");
if (!$importfile) {
throw new Exception("Could not open Gzip file " . $filename);
}
while (!gzeof($importfile)) {
$line = gzgets($importfile, 4096);
if (!$line) {
throw new Exception("Error reading line number $line Gzip file $filename");
}
if (strlen(trim($line)) > 0) {
$this->DB->Query($line);
}
}
gzclose($importfile);
}