Bu makalede, bir hizmetin yazdığınızda, önlemek, bazı yaygın hataları. Makaleyi, ayrıca Microsoft Windows Services oluşturduğunuzda izlemek için en iyi yöntemler önerir. Bir Windows hizmet programı, bir yordam veya özellikle düşük (yakın donanım) düzeyinde, diğer programları desteklemek için belirli sistem işlevi gerçekleştiren bir işlem var. Microsoft Exchange ve Microsoft SQL Server ve Windows süreölçeri'de bilgisayar saatini ayarlar gibi diğer istemci uygulamalar gibi sunucu ürünleri, Windows Services örnekleridir. Bilgisayarı başlatın ve bir kullanıcı arabirimi olan Windows Hizmetleri otomatik olarak başlatılır.
Aşağıdaki yönergeler, bir Windows hizmeti yazarken yararlı olabilir:
Hizmetiniz için kullanıcı arabirimi olmadan kullanılması tasarlayın. Hizmet uygulamaları, herhangi özel bir kullanıcı bağlamı dışında çalışan ve kullanıcı araya girmeden istemeniz gerekir. Bu uygulamalar genellikle, arka planda görevleri gerçekleştirin. Kullanıcı müdahalesi çalıştırmak için hizmetinizi tasarlayın.
Etkileşimli hizmetler oluşturun. Hizmetin, kullanıcı müdahalesi olmadan yalıtılmış bir hizmet olarak çalışır.
Windows Hizmetleri aynı örneğine etkileşimli kullanıcı oturumu, pencere ileti saldırılarını oluşabilir. Etkileşimli kullanıcı ekleme ve bir etkileşimli hizmetlere işleminde rasgele kod çalıştırmak.
Etkileşimli kullanıcı WM_COPYDATA iletinin gönderen kötü amaçlı kod bir yüksek ayrıcalıklı etkileşimli bir hizmet işlemi adres alanına kopyalar ve daha sonra bir WM_TIMER iletisi gönderir, hizmet işlemi, kötü amaçlı kod çalışır. Bu ayrıcalık yükseltme saldırısı dışında Microsoft Terminal Hizmetleri'ni kullanarak bilgisayarda oturum açan bir kullanıcı veya bilgisayara fiziksel erişimi olan bir kullanıcı tarafından gerçekleştirilmiş.
Hizmetiniz sevk etmek için önce tüm Assert ifadeleri kaldırın. Microsoft, Assert yöntemi kullanmanızı önermez. Assert yöntemi başarısız oldu, ve sonra kod hata ayıklama seçeneğine sağlayan kod gösteren bir iletişim kutusu görüntüler. Bu nedenle, hizmetinizi sevk etmek için önce Assert ifadeleri kaldırın.
Hizmetin, bir güvenlik bağlamında çalışır. Sisteminizi saldırılarından, güvenli yardımcı olacak en alt düzeyde kullanıcı haklarına sahip hizmet çalıştırın. Daha fazla kullanıcı hakları için en az bir kullanıcı hesaplarına verilen daha gerektiriyorsa, hizmetin yönetici kimlik bilgilerine sahip bir kullanıcı olarak çalıştırmayın.
Ayrıca, yerleşik oturum açmaların (SYSTEM, Anonymous Logon, Local Service ve Network Service) kullanıcı haklarını yükseltmesine güvenlik ilkesini değiştirmeyin. Bunun yerine özel bir kullanıcı hesabı oluşturun ve sonra hesabın, hizmetinizi gerektiren kullanıcı hakları vermelisiniz. Ağ kimlik bilgileri gerektiriyorsa, etki alanı hesabı kullanın. Ağ kimlik bilgilerini gereksiniminiz varsa, yerel bir hesap kullanın. Sınırlı kullanıcı haklarına sahip özel bir hesap oluşturma, daha fazla zaman harcamaya, ancak bu, ya da hizmetin çok fazla kullanıcı haklarıyla veya işletim sistemiyle birlikte gelen bir hesaba kullanıcı hakları eklediğinizde çalıştırın, daha daha güvenlidir.
Yazdırma ve eşlenen sürücüler Windows Hizmetleri'nde kullanmaktan kaçının. Yazdırma ve eşlenen sürücüler genellikle belirli bir kullanıcı veya kullanıcı grubu için kullanılabilir. Yazdırma veya eşlenmiş sürücü kullanıyorsanız, hizmetinizi yazdırma veya eşlenen sürücülere erişmek için gereken kullanıcı haklarına sahip bir hesap altında çalıştığını doğrulayın. Genelde, oturumu kapatın ve sonra bilgisayarda oturum açtığınızda yeniden eşlenen sürücüler bağlantısını kesin.
Kullanıcı Profil ayarları, Windows Services yazdığınızda güvenmek kaçının.
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:821794
(http://support.microsoft.com/kb/821794/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.