@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 JS
JScript .NET'e başvuran , ve gibi C#
VB
NET 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"
%>