Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Service, незапускается сервис 
:(
    Опции темы
PokeMon
Дата 17.11.2006, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 16.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



народ помогите написал сервис на 64 битных компах  не пашет на всех отсальных норм...что делать 

суть в том что программа в сервисе должна запускать скрипт пхп и его обрабатывать
в аттаче длл
работает с 5 версией PHP
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Runtime.InteropServices;
using System.Threading;



namespace Lin2Pays
{
    public partial class Service1 : ServiceBase
    {

        public System.Threading.Thread g;
        [DllImport("PHP4App.dll")]
        public static extern int InitRequest();
        [DllImport("PHP4App.dll")]
        public static extern int ExecutePHP(int RequestID, string FileName);
        [DllImport("PHP4App.dll")]
        public static extern int ExecuteCode(int RequestID, string ACode);
        [DllImport("PHP4App.dll", SetLastError = true)]
        public static extern int GetResultText(int RequestID, StringBuilder Buf, int BufLen);
        [DllImport("PHP4App.dll", SetLastError = true)]
        public static extern void RegisterVariable(int RequestID, string AName, string AValue);
        [DllImport("PHP4App.dll", SetLastError = true)]
        public static extern int GetVariable(int RequestID, string AName, StringBuilder Buf, int BufLen);
        [DllImport("PHP4App.dll", SetLastError = true)]
        public static extern void DoneRequest(int RequestID);
        public Service1()
        {
            InitializeComponent();
            this.ServiceName = "Pays";
            this.CanStop = true;
            this.CanPauseAndContinue = true;
            this.AutoLog = true;
            if (!System.Diagnostics.EventLog.SourceExists("Pays"))
            {
                System.Diagnostics.EventLog.CreateEventSource("Pays", "PaysLog");
            }
            eventLog1.Source = "Pays";
            eventLog1.Log = "PaysLog";
        }

        protected override void OnStart(string[] args)
        {

            g = new System.Threading.Thread(new System.Threading.ThreadStart(this.pays));
            g.Start();
            eventLog1.WriteEntry(serviceController1.Status.ToString());
            eventLog1.WriteEntry("Запуск");

        }

        protected override void OnStop()
        {

            eventLog1.WriteEntry("Остановлен");

        }

        private void pays()
        {
            while (true)
            {
                // /*
                eventLog1.WriteEntry(serviceController1.Status.ToString());
                int RequestID = InitRequest();
                eventLog1.WriteEntry(serviceController1.Status.ToString());
                // сюда можно вставить повторяющееся действие
                ExecutePHP(RequestID, System.Windows.Forms.Application.StartupPath + "/scripts/pays.php");
                // Create a buffer for the reply
                StringBuilder builder = new StringBuilder();
                eventLog1.WriteEntry(serviceController1.Status.ToString());
                // Call it once to get the length
                builder.Capacity = GetResultText(RequestID, builder, 0);
                eventLog1.WriteEntry(serviceController1.Status.ToString());
                // Call it a second time to actually get the value
                GetResultText(RequestID, builder, builder.Capacity + 1);
                eventLog1.WriteEntry(serviceController1.Status.ToString());
                // Write it do the IE control
                eventLog1.WriteEntry(builder.ToString());
                eventLog1.WriteEntry(serviceController1.Status.ToString());
                // Finalize the engine
                DoneRequest(RequestID);
                eventLog1.WriteEntry(serviceController1.Status.ToString());

                Thread.Sleep(10000);

            }

        }

    }
}


за ранее спасибо

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  php4App.dll 37,00 Kb
PM MAIL WWW ICQ MSN   Вверх
mr.DUDA
Дата 17.11.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Перекомпилировать под 32-битные.


--------------------
user posted image
PM MAIL WWW   Вверх
PokeMon
Дата 17.11.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 16.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Спасибо. попробую.. может и получится
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.