ServiceBase.OnStart(String[]) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta uygulandığında, Service Control Manager (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 gerçekleştirilecek 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.
Dikkat
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ılmıyor. içindeki yerine OnStartoluşturucuda ayrılan kaynakları serbest bırakırsaOnStop, 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ılır.
OnStart türetilmiş sınıfta geçersiz kılınması 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; denetim masasından başlatıldığında hizmete bir kerelik olarak 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 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>) yerleştirilebilir. Bağımsız değişkenleri kayıt defterinden almak için yöntemini kullanabilirsiniz GetCommandLineArgs , örneğin: string[] imagePathArgs = Environment.GetCommandLineArgs();
.