ServiceBase.OnStart(String[]) Yöntem

Tanım

Türetilmiş bir sınıfta uygulandığında, Hizmet Denetim Yöneticisi (SCM) tarafından hizmete bir Başlat komutu gönderildiğinde veya işletim sistemi başlatıldığında (otomatik olarak başlayan bir hizmet için) yürütülür. Hizmet başlatıldığında yapılması gereken eylemleri belirtir.

protected:
 virtual void OnStart(cli::array <System::String ^> ^ args);
protected virtual void OnStart(string[] args);
abstract member OnStart : string[] -> unit
override this.OnStart : string[] -> unit
Protected Overridable Sub OnStart (args As String())

Parametreler

args
String[]

Start komutu tarafından geçirilen veriler.

Açıklamalar

Hizmet bir Başlat komutu aldığında gerçekleşen işlemeyi belirtmek için kullanın OnStart . OnStart , hizmetin davranışını belirttiğiniz yöntemdir. OnStart bağımsız değişkenleri veri geçirmenin bir yolu olarak alabilir, ancak bu kullanım nadirdir.

Caution

içinde olması OnStartgereken işlemleri gerçekleştirmek için oluşturucuyu kullanmayın. Hizmetinizin tüm başlatma işlemlerini işlemek için kullanın OnStart . Oluşturucu, hizmet çalıştırıldığında değil, uygulamanın yürütülebilir dosyası çalıştırıldığında çağrılır. Yürütülebilir dosya öncesinde OnStartçalışır. Örneğin devam ettiğinizde, SCM nesneyi zaten bellekte tuttuğundan oluşturucu yeniden çağrılmaz. içindeki yerine OnStopoluşturucuda ayrılan kaynakları serbest bırakırsaOnStart, hizmet ikinci kez çağrıldığında gerekli kaynaklar yeniden oluşturulmaz.

Hizmet yükleyicisi olarak ayarlanarak StartType bilgisayar yeniden başlatıldığında hizmetler otomatik olarak başlatılacak şekilde Automaticayarlanabilir. Böyle bir durumda, OnStart sistem başlangıcında çağrılabilir.

OnStart türetilmiş sınıfta geçersiz kılınmış olması beklenir. Hizmetin yararlı OnStart olması ve OnStop her ikisinin de hizmet sınıfınızda uygulanması gerekir.

Main yönteminde değil yöntemindeki OnStart hizmet için işlem başlatma bağımsız değişkenleri. Parametre dizisindeki args bağımsız değişkenler Hizmetler konsolundaki hizmetin özellikler penceresinde el ile ayarlanabilir. Konsola girilen bağımsız değişkenler kaydedilmez; bunlar, hizmet denetim masasından başlatıldığında hizmete tek seferlik geçirilir. Hizmet otomatik olarak başlatıldığında mevcut olması gereken bağımsız değişkenler, hizmetin kayıt defteri anahtarının ImagePath dize değerine (hizmet adı<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\>) yerleştirilebilir. Bağımsız değişkenleri kayıt defterinden GetCommandLineArgs almak için yöntemini kullanabilirsiniz, örneğin: string[] imagePathArgs = Environment.GetCommandLineArgs();.

Şunlara uygulanır

Ayrıca bkz.