@ServiceHost

Hizmet ana bilgisayarını üretmek için kullanılan fabrikayı barındırılacak hizmetle ve .svc dosyasında sağlanan barındırma koduna erişmek veya derlemek için gereken diğer programlama yönleriyle ilişkilendirir.

Syntax

<% @ServiceHost
Service = "Service, ServiceNamespace"
Factory = "Factory, FactoryNamespace"
Debug = "Debug"
Language = "Language"
CodeBehind = "CodeBehind"
%>

Öznitelikler

Hizmet

Barındırılan hizmetin CLR tür adı. Bu, bir veya daha fazla hizmet sözleşmesini uygulayan türün tam adı olmalıdır.

Fabrika

Hizmet konağı örneğini oluştururken kullanılan hizmet konağı fabrikasının CLR tür adı. Bu öznitelik isteğe bağlıdır. Belirtilmemişse, varsayılan ServiceHostFactory kullanılır ve bu da örneğini ServiceHostdöndürür.

Hata Ayıklama

Windows Communication Foundation (WCF) hizmetinin hata ayıklama simgeleriyle derlenip derlenmemesi gerektiğini gösterir. true WCF hizmetinin hata ayıklama simgeleriyle derlenmesi gerekiyorsa; aksi takdirde , false.

Dil

Dosya (.svc) içindeki tüm satır içi kodu derlerken kullanılan dili belirtir. Değerler herhangi bir öğesini temsil edebilir. C#, Visual Basic ve JSJScript .NET'e başvuran , ve gibi C#VBNET destekli dil. Bu öznitelik isteğe bağlıdır.

CodeBehind

XML Web hizmetini uygulayan sınıf aynı dosyada yer almadığında ve bir derlemede derlenmediğinde ve \Bin dizinine yerleştirildiğinde XML Web hizmetini uygulayan kaynak dosyayı belirtir.

Açıklamalar

ServiceHost Hizmeti barındırmak için kullanılan, Windows Communication Foundation (WCF) programlama modeli içinde genişletilebilirlik noktasıdır. Fabrika deseni, barındırma ortamının ServiceHost doğrudan örnek oluşturmaması gereken polimorfik bir tür olduğundan örneğini oluşturmak için kullanılır.

Varsayılan uygulama, örneğini ServiceHostoluşturmak için kullanırServiceHostFactory. Ancak yönergesinde fabrika uygulamanızın @ServiceHost CLR tür adını belirterek kendi fabrikanızı (türetilmiş ana bilgisayarınızı döndüren bir fabrika) sağlayabilirsiniz.

Varsayılan fabrika yerine kendi özel hizmet ana bilgisayar fabrikanızı kullanmak için yönergesinde @ServiceHost tür adını aşağıdaki gibi sağlamanız gerekir.

<% @ServiceHost Factory="DerivedFactory" Service="MyService" %>

Fabrika uygulamalarını olabildiğince hafif tutun. Çok sayıda özel mantığınız varsa, bu mantığı fabrika yerine konağınıza yerleştirirseniz kodunuz daha fazla yeniden kullanılabilir.

Örneğin, için AJAX özellikli bir uç noktayı etkinleştirmek içinMyService, aşağıdaki örnekte gösterildiği gibi yönergesinde varsayılan ServiceHostFactoryyerine özniteliğinin @ServiceHost değerini Factory belirtinWebScriptServiceHostFactory:

<% @ServiceHost
Service="MyService"
Language="C#"
Debug="true"
Factory="WebScriptServiceHostFactory"
%>

Ayrıca bkz.