WebServiceHost Sınıf
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.
ServiceHost Windows Communication Foundation (WCF) REST programlama modelini tamamlayan türetilmiş bir sınıf.
public ref class WebServiceHost : System::ServiceModel::ServiceHost
public class WebServiceHost : System.ServiceModel.ServiceHost
type WebServiceHost = class
inherit ServiceHost
Public Class WebServiceHost
Inherits ServiceHost
- Devralma
- Türetilmiş
Örnekler
Aşağıdaki örnekte, WCF REST programlama modelini kullanan bir hizmeti barındırmak için sınıfının nasıl kullanılacağı WebServiceHost gösterilmektedir.
[ServiceContract]
public interface ICalculator
{
[OperationContract]
[WebInvoke(UriTemplate = "add?x={x}&y={y}")]
long Add(long x, long y);
[OperationContract]
[WebInvoke(UriTemplate = "sub?x={x}&y={y}")]
long Subtract(long x, long y);
[OperationContract]
[WebInvoke(UriTemplate = "mult?x={x}&y={y}")]
long Multiply(long x, long y);
[OperationContract]
[WebInvoke(UriTemplate = "div?x={x}&y={y}")]
long Divide(long x, long y);
[OperationContract]
[WebGet(UriTemplate = "hello?name={name}")]
string SayHello(string name);
}
public class CalcService : ICalculator
{
public long Add(long x, long y)
{
return x + y;
}
public long Subtract(long x, long y)
{
return x - y;
}
public long Multiply(long x, long y)
{
return x * y;
}
public long Divide(long x, long y)
{
return x / y;
}
public string SayHello(string name)
{
return "Hello " + name;
}
}
class Program
{
static void Main(string[] args)
{
Uri baseAddress = new Uri("http://localhost:8000/");
WebServiceHost svcHost = new WebServiceHost(typeof(CalcService), baseAddress);
try
{
svcHost.Open();
Console.WriteLine("Service is running");
Console.WriteLine("Press enter to quit...");
Console.ReadLine();
svcHost.Close();
}
catch (CommunicationException cex)
{
Console.WriteLine("An exception occurred: {0}", cex.Message);
svcHost.Abort();
}
}
}
<ServiceContract()> _
Public Interface ICalculator
<OperationContract()> _
<WebInvoke(UriTemplate:="add?x={x}&y={y}")> _
Function Add(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(UriTemplate:="sub?x={x}&y={y}")> _
Function Subtract(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(UriTemplate:="mult?x={x}&y={y}")> _
Function Multiply(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebInvoke(UriTemplate:="div?x={x}&y={y}")> _
Function Divide(ByVal x As Long, ByVal y As Long) As Long
<OperationContract()> _
<WebGet(UriTemplate:="hello?name={name}")> _
Function SayHello(ByVal name As String) As String
End Interface
Public Class CalcService
Implements ICalculator
Public Function Add(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Add
Return x + y
End Function
Public Function Subtract(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Subtract
Return x - y
End Function
Public Function Multiply(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Multiply
Return x * y
End Function
Public Function Divide(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Divide
Return x / y
End Function
Public Function SayHello(ByVal name As String) As String Implements ICalculator.SayHello
Return "Hello " + name
End Function
End Class
Açıklamalar
WebServiceHost Hizmet açıklamasında hiçbir uç nokta bulamazsa, HTTP ve HTTPS temel adresleri için hizmetin temel adresinde otomatik olarak bir varsayılan uç nokta oluşturur. Kullanıcı açıkça temel adreste bir uç nokta yapılandırdıysa, otomatik olarak bir uç nokta oluşturmaz. WebServiceHostgüvenli bir sanal dizinde kullanıldığında, uç noktanın bağlamasını ilişkili Internet Information Services (IIS) güvenlik ayarlarıyla çalışacak şekilde otomatik olarak yapılandırılır.
Varsayılan HTTP uç noktasını oluştururken, WebServiceHost meta veri uç noktasının varsayılan HTTP uç noktasını engellememesi için HTTP Yardım sayfasını ve Web Hizmetleri Açıklama Dili (WSDL) GET işlevini de devre dışı bırakır.
Ayrıca sınıfı, WebServiceHost zaten davranışı olmayan ve öğesine sahip olan WebMessageEncodingElementtüm uç noktalara öğesini eklerWebHttpBehavior. Hizmet üzerindeki tüm işlemler boş HTTP istek gövdelerine sahipse veya HTTP isteği gövdesini akış olarak ele alırsa WebServiceHost , bağlama için uygun içerik türü eşleyicisini otomatik olarak yapılandırılır.
Oluşturucular
WebServiceHost() |
WebServiceHost sınıfının yeni bir örneğini başlatır. |
WebServiceHost(Object, Uri[]) |
Belirtilen tek sunucu örneği ve temel adres ile sınıfının yeni bir örneğini WebServiceHost başlatır. |
WebServiceHost(Type, Uri[]) |
Belirtilen hizmet türü ve temel adres ile sınıfının yeni bir örneğini WebServiceHost başlatır. |
Özellikler
Authentication |
Hizmet kimlik doğrulama davranışını alır. (Devralındığı yer: ServiceHostBase) |
Authorization |
Barındırılan hizmetin yetkilendirme davranışını alır. (Devralındığı yer: ServiceHostBase) |
BaseAddresses |
Barındırılan hizmet tarafından kullanılan temel adresleri alır. (Devralındığı yer: ServiceHostBase) |
ChannelDispatchers |
Hizmet konağı tarafından kullanılan kanal dağıtıcıları koleksiyonunu alır. (Devralındığı yer: ServiceHostBase) |
CloseTimeout |
Hizmet ana bilgisayarının kapanmasına izin verilen süreyi alır veya ayarlar. (Devralındığı yer: ServiceHostBase) |
Credentials |
Barındırılan hizmetin kimlik bilgilerini alır. (Devralındığı yer: ServiceHostBase) |
DefaultCloseTimeout |
Hizmet ana bilgisayarının kapanması için izin verilen varsayılan zaman aralığını alır. (Devralındığı yer: ServiceHostBase) |
DefaultOpenTimeout |
Hizmet konağı için izin verilen varsayılan zaman aralığını alır. (Devralındığı yer: ServiceHostBase) |
Description |
Barındırılan hizmetin açıklamasını alır. (Devralındığı yer: ServiceHostBase) |
Extensions |
Geçerli belirtilen hizmet konağı için uzantıları alır. (Devralındığı yer: ServiceHostBase) |
ImplementedContracts |
Barındırılan hizmet tarafından uygulanan sözleşmeleri alır. (Devralındığı yer: ServiceHostBase) |
IsDisposed |
İletişim nesnesinin atılıp atılmadığını gösteren bir değer alır. (Devralındığı yer: CommunicationObject) |
ManualFlowControlLimit |
Barındırılan hizmet tarafından alınan iletiler için akış denetimi sınırını alır veya ayarlar. (Devralındığı yer: ServiceHostBase) |
OpenTimeout |
Hizmet konağı için izin verilen zaman aralığını alır veya ayarlar. (Devralındığı yer: ServiceHostBase) |
SingletonInstance |
Barındırılan hizmetin tekil örneğini alır. (Devralındığı yer: ServiceHost) |
State |
İletişim nesnesinin geçerli durumunu gösteren bir değer alır. (Devralındığı yer: CommunicationObject) |
ThisLock |
Durum geçişi sırasında sınıf örneğini koruyan birbirini dışlayan kilidi alır. (Devralındığı yer: CommunicationObject) |
Yöntemler
Abort() |
bir iletişim nesnesinin geçerli durumundan kapanış durumuna hemen geçmesine neden olur. (Devralındığı yer: CommunicationObject) |
AddBaseAddress(Uri) |
Hizmet konağına bir temel adres ekler. (Devralındığı yer: ServiceHostBase) |
AddDefaultEndpoints() |
Varsayılan bağlama ile hizmet konağında bulunan her sözleşmedeki tüm temel adresler için hizmet uç noktaları ekler. (Devralındığı yer: ServiceHostBase) |
AddServiceEndpoint(ServiceEndpoint) |
Belirtilen hizmet uç noktasını barındırılan hizmete ekler. (Devralındığı yer: ServiceHostBase) |
AddServiceEndpoint(String, Binding, String) |
Belirtilen sözleşme, bağlama ve uç nokta adresiyle barındırılan hizmete bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHostBase) |
AddServiceEndpoint(String, Binding, String, Uri) |
Barındırılan hizmete, dinlediği adresi içeren belirtilen sözleşme, bağlama, uç nokta adresi ve URI ile bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHostBase) |
AddServiceEndpoint(String, Binding, Uri) |
Belirtilen sözleşme, bağlama ve uç nokta adresini içeren bir URI ile barındırılan hizmete bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHostBase) |
AddServiceEndpoint(String, Binding, Uri, Uri) |
Belirtilen sözleşme, bağlama ve uç nokta ile dinleme adreslerini içeren URI'lerle barındırılan hizmete bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHostBase) |
AddServiceEndpoint(Type, Binding, String) |
Belirtilen sözleşme, bağlama ve uç nokta adresiyle barındırılan hizmete bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHost) |
AddServiceEndpoint(Type, Binding, String, Uri) |
Barındırılan hizmete belirtilen sözleşme, bağlama, uç nokta adresi ve hizmetin dinlediği bir URI ile bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHost) |
AddServiceEndpoint(Type, Binding, Uri) |
Belirtilen sözleşme, bağlama ve uç nokta adresini içeren URI ile barındırılan hizmete bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHost) |
AddServiceEndpoint(Type, Binding, Uri, Uri) |
Barındırılan hizmete belirtilen bir sözleşme, bağlama, uç nokta adresini içeren bir URI ve hizmetin dinlediği bir URI ile bir hizmet uç noktası ekler. (Devralındığı yer: ServiceHost) |
ApplyConfiguration() |
Yapılandırma dosyasından hizmet açıklamasını yükler ve bunu oluşturmakta olan çalışma zamanına uygular. (Devralındığı yer: ServiceHost) |
BeginClose(AsyncCallback, Object) |
bir iletişim nesnesini kapatmak için zaman uyumsuz bir işlem başlatır. (Devralındığı yer: CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Belirtilen zaman aşımına sahip bir iletişim nesnesini kapatmak için zaman uyumsuz bir işlem başlatır. (Devralındığı yer: CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
İletişim nesnesini açmak için zaman uyumsuz bir işlem başlatır. (Devralındığı yer: CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Belirli bir zaman aralığı içinde bir iletişim nesnesi açmak için zaman uyumsuz bir işlem başlatır. (Devralındığı yer: CommunicationObject) |
Close() |
bir iletişim nesnesinin geçerli durumundan kapalı duruma geçmesine neden olur. (Devralındığı yer: CommunicationObject) |
Close(TimeSpan) |
Bir iletişim nesnesinin belirli bir zaman aralığı içinde geçerli durumundan kapalı duruma geçmesine neden olur. (Devralındığı yer: CommunicationObject) |
CreateDescription(IDictionary<String,ContractDescription>) |
Barındırılan hizmetin açıklamasını oluşturur. (Devralındığı yer: ServiceHost) |
EndClose(IAsyncResult) |
bir iletişim nesnesini kapatmak için zaman uyumsuz bir işlemi tamamlar. (Devralındığı yer: CommunicationObject) |
EndOpen(IAsyncResult) |
bir iletişim nesnesini açmak için zaman uyumsuz bir işlemi tamamlar. (Devralındığı yer: CommunicationObject) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Fault() |
bir iletişim nesnesinin geçerli durumundan hatalı duruma geçmesine neden olur. (Devralındığı yer: CommunicationObject) |
GetCommunicationObjectType() |
İletişim nesnesinin türünü alır. (Devralındığı yer: CommunicationObject) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IncrementManualFlowControlLimit(Int32) |
İletilerin barındırılan hizmete yönelik akış hızı sınırını belirtilen bir artışla artırır. (Devralındığı yer: ServiceHostBase) |
InitializeDescription(Object, UriSchemeKeyedCollection) |
Örneğine ve belirtilen temel adreslere göre barındırılan hizmetin açıklamasını başlatır. (Devralındığı yer: ServiceHost) |
InitializeDescription(Type, UriSchemeKeyedCollection) |
Türüne ve belirtilen temel adreslere göre barındırılan hizmetin açıklamasını başlatır. (Devralındığı yer: ServiceHost) |
InitializeDescription(UriSchemeKeyedCollection) |
Sözleşme ve hizmet açıklamalarıyla hizmet ana bilgisayarını oluşturur ve başlatır. (Devralındığı yer: ServiceHostBase) |
InitializeRuntime() |
Hizmet konağı için çalışma zamanını başlatır. (Devralındığı yer: ServiceHostBase) |
LoadConfigurationSection(ServiceElement) |
Barındırılan hizmetin yapılandırma dosyasından hizmet öğesini yükler. (Devralındığı yer: ServiceHostBase) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnAbort() |
Hizmeti durdurur. (Devralındığı yer: ServiceHostBase) |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Hizmet konağı kapatılırken çağrılan zaman uyumsuz bir işlemi başlatır. (Devralındığı yer: ServiceHostBase) |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Hizmet konağı açıldığında çağrılan zaman uyumsuz bir işlemi başlatır. (Devralındığı yer: ServiceHostBase) |
OnClose(TimeSpan) |
Kanal dağıtıcıları ve ilişkili örnek bağlamları ve dinleyicileri de dahil olmak üzere barındırılan hizmeti kapatır. (Devralındığı yer: ServiceHostBase) |
OnClosed() |
Hizmet ana bilgisayarı kapatıldığında barındırılan tek kullanımlık hizmetleri atılır. (Devralındığı yer: ServiceHost) |
OnClosing() |
İletişim nesnesinin kapanış durumuna geçişi sırasında çağrılır. (Devralındığı yer: CommunicationObject) |
OnEndClose(IAsyncResult) |
Hizmet konağı kapatılırken çağrılan zaman uyumsuz bir işlemi tamamlar. (Devralındığı yer: ServiceHostBase) |
OnEndOpen(IAsyncResult) |
Hizmet konağı açıldığında çağrılan zaman uyumsuz işlemi tamamlar. (Devralındığı yer: ServiceHostBase) |
OnFaulted() |
Zaman uyumlu bir hata işleminin çağrılması nedeniyle hata durumuna geçtikten sonra bir iletişim nesnesine işleme ekler. (Devralındığı yer: CommunicationObject) |
OnOpen(TimeSpan) |
Kanal dağıtıcılarını açar. (Devralındığı yer: ServiceHostBase) |
OnOpened() |
Barındırılan hizmet için hizmet kimlik bilgilerini, hizmet kimlik doğrulamasını ve yetkilendirme davranışını alır. (Devralındığı yer: ServiceHostBase) |
OnOpening() |
WebServiceHost Örnek açıldığında çağrılır. |
Open() |
Bir iletişim nesnesinin oluşturulan durumdan açık duruma geçmesine neden olur. (Devralındığı yer: CommunicationObject) |
Open(TimeSpan) |
Bir iletişim nesnesinin belirli bir zaman aralığı içinde oluşturulan durumdan açık duruma geçmesine neden olur. (Devralındığı yer: CommunicationObject) |
ReleasePerformanceCounters() |
Barındırılan hizmet için hizmet ve kanal dağıtıcı performans sayaçlarını serbest bırakır. (Devralındığı yer: ServiceHostBase) |
SetEndpointAddress(ServiceEndpoint, String) |
Belirtilen uç noktanın uç nokta adresini belirtilen adrese ayarlar. (Devralındığı yer: ServiceHostBase) |
ThrowIfDisposed() |
İletişim nesnesi atılırsa bir özel durum oluşturur. (Devralındığı yer: CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Özelliğin durum olarak ayarlanmadığı Created iletişim nesnesi State bir özel durum oluşturur. (Devralındığı yer: CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
İletişim nesnesi durumunda değilse Opened bir özel durum oluşturur. (Devralındığı yer: CommunicationObject) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Ekinlikler
Closed |
Bir iletişim nesnesi kapalı duruma geçtiğinde gerçekleşir. (Devralındığı yer: CommunicationObject) |
Closing |
Bir iletişim nesnesi kapanış durumuna geçtiğinde gerçekleşir. (Devralındığı yer: CommunicationObject) |
Faulted |
Bir iletişim nesnesi hatalı duruma geçtiğinde gerçekleşir. (Devralındığı yer: CommunicationObject) |
Opened |
Bir iletişim nesnesi açık duruma geçtiğinde gerçekleşir. (Devralındığı yer: CommunicationObject) |
Opening |
bir iletişim nesnesi açma durumuna geçtiğinde gerçekleşir. (Devralındığı yer: CommunicationObject) |
UnknownMessageReceived |
Bilinmeyen bir ileti alındığında gerçekleşir. (Devralındığı yer: ServiceHostBase) |
Belirtik Arabirim Kullanımları
IDisposable.Dispose() |
Hizmet ana bilgisayarını kapatır. (Devralındığı yer: ServiceHostBase) |