Стартиране на програма изпълнявана във фонов режим в/у сървъра
Здравейте,пиша програма на С#,която трябва да се изпълнява на сървъра и през 30 мин да извършва определени деиствия.
Интересува ме как се инсталират и как трябва да бъдат стартирани такива програми които трябва да работят постоянно.
Ползвам VisualStudio 2005. Пробвах да създам ASP.NET проект ,в който в start options /
start external program му задавам да стартира моята програмка,която ще изпълнявам във фонов режим.
Когато дебъгна проекта нещата стават,но несъм сигурна,че точно това е начина по който трябва да се направи това.
Някой има ли идея как да си стартирам програмката на сървъра.
Re: Стартиране на програма изпълнявана във фонов режим в/у сървъра
Вариант а - пускаш програмата като service. Погледни хелпа на sc.exe (windows xp, 2003 server). Вариант б - по-културен - фраскаш програмата в scheduled tasks (надявам се че няма нужда да обяснявам как :) )
Re: Стартиране на програма изпълнявана във фонов режим в/у сървъра
Благодаря за отговора,но мисля че вариант б няма да ми сварши работа.
Доколкото знам таск менаджера се управлява от ядрото на ОС.
Това което аз правя трябва да се изпълнява на сървъра ,да работи постоянно и на 30 минути да извършва определени действия.
Значи постоянната работа и 30 минути сам ги осигурила,като сам го реализирала,като таймер (С# има такава възможност).Проблема ми е в това как да си инсталирам програмата на сървъра (примерно IIS сървър) и другото което е трябва да може при стартиране на сървъра да може да се стратира и моя таймер.(т.е програмата ми).
Re: Стартиране на програма изпълнявана във фонов режим в/у сървъра
най-лесно наистина е с scheduled tasks да се рънва ехе-то
другото е варианта ехе-то да го направиш като сървис (new project -> visual c# projects -> windows service) + един setup project (не web) който да инсталира/маха сървиса
обясненията са по ВС2003 и може да има леко разминаване с 2005
Re: Стартиране на програма изпълнявана във фонов режим в/у сървъра
Благодаря за съветите наистина сте прави,че това ще трябва или да го направя като WindowsService или да се сложи в scheduled tasks. А сега ,като поразпитах разбрах,че има и трети вариант и той е да го сложа в startup-па.
Но в случая мисля,че със сървис ще е най-подходящо.
А за тези които се интересуват от това,как се правят Windows Servisci na VS2003 им пращам следния линк:
http://www.aspfree.com/c/a/C-Sharp/T...arp-dot-NET/1/
Re: Стартиране на програма изпълнявана във фонов режим в/у сървъра
всичко се свежда до създаване на процес - google = createprocess
<PRE lang=cs>[DllImport("kernel32.dll")]
private static extern bool CreateProcess(
* *string lpApplicationName,
* *string lpCommandLine,
* *IntPtr lpProcessAttributes,
* *IntPtr lpThreadAttributes,
* *bool bInheritHandles,
* *int dwCreationFlags,
* *IntPtr lpEnvironment,
* *string lpCurrentDirectory,
* *ref STARTUPINFO lpStartupInfo,
* *ref PROCESS_INFORMATION lpProcessInformation);</PRE>
иначе:
1.Service
2.StartUp
3.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Re: Стартиране на програма изпълнявана във фонов режим в/у сървъра
magda, за туториъли по полезно от http://codeproject.com/ до момента не съм видял. Може да му хвърляш по един поглед ако не го знаеш ;)