Net.TCP Bağlantı Noktası Hizmetini Yapılandırma

Net.TCP aktarımını kullanan şirket içinde barındırılan hizmetler, ağ iletişimi için kullanılan temel TCP yuvasının davranışını yöneten ve MaxPendingAcceptsgibi ListenBacklog çeşitli gelişmiş ayarları denetleyebilir. Ancak, her yuva için bu ayarlar yalnızca aktarım bağlaması varsayılan olarak etkin olan bağlantı noktası paylaşımını devre dışı bırakmışsa bağlama düzeyinde geçerlidir.

Net.tcp bağlaması bağlantı noktası paylaşımını etkinleştirdiğinde (aktarım bağlama öğesini ayarlayarak portSharingEnabled =true ), örtük olarak bir dış işlemin (Net.TCP Bağlantı Noktası Paylaşım Hizmeti'ni barındıran SMSvcHost.exe) TCP yuvasını kendi adına yönetmesine izin verir. Örneğin, TCP kullanırken şunları belirtin:

<tcpTransport portSharingEnabled="true"  />  

Bu şekilde yapılandırıldığında, hizmetin aktarım bağlama öğesinde belirtilen yuva ayarları, SMSvcHost.exe tarafından belirtilen yuva ayarlarına göre yoksayılır.

SMSvcHost.exe yapılandırmak için SmSvcHost.exe.config adlı bir XML yapılandırma dosyası oluşturun ve SMSvcHost.exe yürütülebilir dosyasıyla aynı fiziksel dizine yerleştirin (örneğin, C:\Windows\Microsoft.NET\Framework\v4.5).

Aşağıdaki örnekte, tüm yapılandırılabilir değerler için varsayılan ayarların açıkça belirtildiği örnek bir SMSvcHost.exe.config gösterilmektedir.

<configuration>  
   <system.serviceModel.activation>  
       <net.tcp listenBacklog="16" <!-- 16 * # of processors -->  
          maxPendingAccepts="4"<!-- 4 * # of processors -->  
          maxPendingConnections="100"  
          receiveTimeout="00:00:30" <!-- 30 seconds -->  
          teredoEnabled="false">  
          <allowAccounts>  
             <!-- LocalSystem account -->  
             <add securityIdentifier="S-1-5-18"/>  
             <!-- LocalService account -->  
             <add securityIdentifier="S-1-5-19"/>  
             <!-- Administrators account -->  
             <add securityIdentifier="S-1-5-20"/>  
             <!-- Network Service account -->  
             <add securityIdentifier="S-1-5-32-544" />  
             <!-- IIS_IUSRS account (Vista only) -->  
             <add securityIdentifier="S-1-5-32-568"/>  
           </allowAccounts>  
       </net.tcp>  
    </system.serviceModel.activation>
</configuration>  

SMSvcHost.exe.config Ne Zaman Değiştirileceği

Genel olarak, SMSvcHost.exe.config dosyasının içeriği değiştirilirken dikkatli olunmalıdır, çünkü bu dosyada belirtilen yapılandırma ayarları Net.TCP Bağlantı Noktası Paylaşım Hizmeti'ni kullanan bir bilgisayardaki tüm hizmetleri etkiler. Bu, Windows Vista'da Windows İşlem Etkinleştirme Hizmeti'nin (WAS) TCP Etkinleştirme özelliklerini kullanan uygulamaları içerir.

Ancak, bazen Net.TCP Bağlantı Noktası Paylaşım Hizmeti için varsayılan yapılandırmayı değiştirmeniz gerekebilir. Örneğin, için maxPendingAccepts varsayılan değer 4 * işlemci sayısıdır. Bağlantı noktası paylaşımı kullanan çok sayıda hizmeti barındıran sunucular, en yüksek aktarım hızına ulaşmak için bu değeri artırabilir. için maxPendingConnections varsayılan değer 100'dür. Hizmeti çağıran birden çok eşzamanlı istemci varsa ve hizmet istemci bağlantılarını bırakıyorsa da bu değeri artırmayı düşünmelisiniz.

SMSvcHost.exe.config, bağlantı noktası paylaşım hizmetini kullanabilecek işlem kimlikleri hakkında da bilgi içerir. Bir işlem, paylaşılan TCP bağlantı noktasını kullanmak için bağlantı noktası paylaşım hizmetine bağlandığında, bağlantı noktası paylaşım hizmetinden yararlanmasına izin verilen kimliklerin listesiyle bağlantı işleminin işlem kimliği denetleniyor. Bu kimlikler, SMSvcHost.exe.config dosyasının <allowAccounts bölümünde güvenlik tanımlayıcıları> (SID) olarak belirtilir. Varsayılan olarak, bağlantı noktası paylaşım hizmetini kullanma izni sistem hesaplarına (LocalService, LocalSystem ve NetworkService) ve Yönetici istrators grubunun üyelerine verilir. Başka bir kimlik olarak çalışan bir işlemin (örneğin, kullanıcı kimliği) bağlantı noktası paylaşım hizmetine bağlanmasına izin veren uygulamaların SMSvcHost.exe.config'e uygun SID'yi açıkça eklemesi gerekir (bu değişiklikler, SMSvc.exe işlem yeniden başlatılana kadar uygulanmaz).

Not

Kullanıcı Hesabı Denetimi (UAC) etkinleştirilmiş Windows Vista sistemlerinde, hesapları Yönetici istrators grubunun üyesi olsa bile yerel kullanıcılar yükseltilmiş izinlere ihtiyaç duyar. Bu kullanıcıların bağlantı noktası paylaşım hizmetinden yükseltme olmadan yararlanmasına izin vermek için, kullanıcının SID'sinin (veya kullanıcının üye olduğu bir grubun SID'sinin) SMSvcHost.exe.config dosyasının <allowAccounts> bölümüne açıkça eklenmesi gerekir.

Uyarı

Varsayılan SMSvcHost.exe.config dosyası, SMSvcHost.exe izlemenin hizmet izlemelerini engellemesini önlemek için bir özel etwProviderId değer belirtir.

Ayrıca bkz.