HttpWebClientProtocol 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.
HTTP aktarım protokolünü kullanan tüm XML Web hizmeti istemci proxy'leri için temel sınıfı temsil eder.
public ref class HttpWebClientProtocol abstract : System::Web::Services::Protocols::WebClientProtocol
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
type HttpWebClientProtocol = class
inherit WebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpWebClientProtocol = class
inherit WebClientProtocol
Public MustInherit Class HttpWebClientProtocol
Inherits WebClientProtocol
- Devralma
- Türetilmiş
- Öznitelikler
Örnekler
Aşağıdaki örnek, adlı Math
bir XML Web hizmetini çağıran bir ASP.NET Web Formudur. İşlevin EnterBtn_Click
içinde, Web Formu sunucunun istemciyi otomatik olarak diğer sitelere yönlendirmesine izin verir. Ayrıca, XML Web hizmeti yöntemini çağırmadan önce istemci kimlik doğrulaması kimlik bilgilerini, ara sunucu ayarlarını, istek kodlamasını ve isteğin zaman aşımını ayarlar.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E)
{
MyMath.Math math = new MyMath.Math();
// Allow the server to redirect the request.
math.AllowAutoRedirect = true;
// Set the client-side credentials using the Credentials property.
ICredentials credentials =
new NetworkCredential("Joe","password","mydomain");
math.Credentials = credentials;
// Set the proxy server to proxyserver, set the port to 80, and specify to bypass
// the proxy server for local addresses.
IWebProxy proxyObject = new WebProxy("http://proxyserver:80",true);
math.Proxy = proxyObject;
// Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8;
// Set the time out to 15 seconds
math.Timeout = 15000;
int total = math.Add(Convert.ToInt32(Num1.Text),
Convert.ToInt32(Num2.Text));
Total.Text = "Total: " + total.ToString();
}
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(Src As Object, E As EventArgs)
Dim math As New MyMath.Math()
' Allow the server to redirect the request.
math.AllowAutoRedirect = True
' Set the client-side credentials using the Credentials property.
Dim credentials = New NetworkCredential("Joe", "password", "mydomain")
math.Credentials = credentials
' Set the proxy server to proxyserver, set the port to 80 and specify to bypass
' the proxy server for local addresses.
Dim proxyObject = New WebProxy("http://proxyserver:80", True)
math.Proxy = proxyObject
' Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8
' Set the time out to 15 seconds.
math.Timeout = 15000
Dim iTotal As Integer = math.Add(Convert.ToInt32(Num1.Text), _
Convert.ToInt32(Num2.Text))
Total.Text = "Total: " & iTotal.ToString()
End Sub
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
Açıklamalar
Bu sınıftaki özellikler, XML Web hizmeti isteğini ve yanıtını iletmek için kullanılan HTTP istek nesnesinin davranışını denetlemek için kullanılır. Özellikler, üzerinde bulunan özelliklerle eşler HttpWebRequest.
HTTP kullanarak bir XML Web hizmetiyle iletişim kurmak için, XML Web hizmeti için dolaylı olarak veya doğrudan öğesinden HttpWebClientProtocol türetilen bir proxy sınıfı oluşturmanız gerekir. Proxy sınıfını el ile oluşturmak yerine, Wsdl.exe aracını kullanarak belirli bir XML Web hizmetinin hizmet açıklaması için ara sunucu sınıfı oluşturabilirsiniz.
HttpWebClientProtocol tüm ara sunucu sınıfları için temel sınıf olduğundan, özellikleri proxy sınıflarınızdadır. Bu özellikler, temel alınan aktarımın istek davranışını denetlemek için kullanışlıdır. Örneğin, bir güvenlik duvarı aracılığıyla XML Web hizmetlerini çağırmak için özelliğini kullanın Proxy . Bu özelliklerin çoğu, Web isteğini yapan öğesini HttpWebRequest başlatmak için kullanılır.
SoapHttpClientProtocol, HttpGetClientProtocolve HttpPostClientProtocol doğrudan veya dolaylı olarak HttpWebClientProtocol soap, HTTP-GET ve HTTP-POST için destek sağlamak üzere türetilir.
Oluşturucular
HttpWebClientProtocol() |
HttpWebClientProtocol sınıfının yeni bir örneğini başlatır. |
Özellikler
AllowAutoRedirect |
İstemcinin sunucu yeniden yönlendirmelerini otomatik olarak takip edip etmediğini alır veya ayarlar. |
CanRaiseEvents |
Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır. (Devralındığı yer: Component) |
ClientCertificates |
İstemci sertifikaları koleksiyonunu alır. |
ConnectionGroupName |
İstek için bağlantı grubunun adını alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
Container |
öğesini IContainer içeren öğesini Componentalır. (Devralındığı yer: Component) |
CookieContainer |
Tanımlama bilgileri koleksiyonunu alır veya ayarlar. |
Credentials |
XML Web hizmeti istemci kimlik doğrulaması için güvenlik kimlik bilgilerini alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
DesignMode |
öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır. (Devralındığı yer: Component) |
EnableDecompression |
Bu HttpWebClientProtocoliçin açmanın etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. |
Events |
Bu Componentöğesine eklenen olay işleyicilerinin listesini alır. (Devralındığı yer: Component) |
PreAuthenticate |
Ön kimlik doğrulamasının etkinleştirilip etkinleştirilmediğini alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
Proxy |
Bir güvenlik duvarı aracılığıyla XML Web hizmeti isteği oluşturmak için ara sunucu bilgilerini alır veya ayarlar. |
RequestEncoding |
Encoding XML Web hizmetine istemci isteğinde bulunmak için kullanılır. (Devralındığı yer: WebClientProtocol) |
Site |
öğesini alır veya ayarlar ISiteComponent. (Devralındığı yer: Component) |
Timeout |
XML Web hizmeti istemcisinin zaman uyumlu XML Web hizmeti isteğinin yanıtlanmasını beklediği süreyi (milisaniye cinsinden) gösterir. (Devralındığı yer: WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
İstemci, XML Web hizmetini barındıran Web sunucusuna bağlanmak için NTLM kimlik doğrulamasını kullandığında bağlantı paylaşımının etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. |
Url |
İstemcinin istediği XML Web hizmetinin temel URL'sini alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
UseDefaultCredentials |
Özelliğin özelliğinin değerine ayarlanıp ayarlanmayacağını Credentials belirten bir değeri DefaultCredentials alır veya ayarlar. (Devralındığı yer: WebClientProtocol) |
UserAgent |
Her istekle birlikte gönderilen kullanıcı aracısı üst bilgisinin değerini alır veya ayarlar. |
Yöntemler
Abort() |
XML Web hizmeti yöntemine yönelik isteği iptal eder. (Devralındığı yer: WebClientProtocol) |
CancelAsync(Object) |
Çağrı zaten tamamlanmadığı sürece XML Web hizmeti yöntemine yönelik zaman uyumsuz çağrıyı iptal eder. |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
Dispose() |
Component tarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: Component) |
Dispose(Boolean) |
Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. (Devralındığı yer: Component) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GenerateXmlMappings(Type, ArrayList) |
XmlMembersMapping Belirtilen tür tarafından kullanıma sunulan her XML Web hizmeti yönteminin öğesini alır ve eşlemeleri belirtilen ArrayListiçinde depolar. |
GenerateXmlMappings(Type[], ArrayList) |
XmlMembersMapping Belirtilen türler tarafından kullanıma sunulan her XML Web hizmeti yönteminin öğesini alır ve eşlemeleri belirtilen ArrayListiçinde ve bu yöntemin döndürdüğü bir Hashtable içinde depolar. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetService(Type) |
veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür. (Devralındığı yer: Component) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetWebRequest(Uri) |
Belirtilen URI için bir WebRequest oluşturur. |
GetWebResponse(WebRequest) |
Xml Web hizmeti yöntemine zaman uyumlu istekten bir yanıt döndürür. |
GetWebResponse(WebRequest, IAsyncResult) |
Xml Web hizmeti yöntemine zaman uyumsuz istekten bir yanıt döndürür. |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
ToString() |
Varsa, adını Componentiçeren bir String döndürür. Bu yöntem geçersiz kılınmamalıdır. (Devralındığı yer: Component) |
Ekinlikler
Disposed |
Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir. (Devralındığı yer: Component) |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu sınıftaki özellikler, her XML Web hizmeti yöntemi çağrısı için bir nesnenin yeni bir WebRequest örneğine kopyalanır. Aynı örnekteki XML Web hizmeti yöntemlerini aynı WebClientProtocol anda farklı iş parçacıklarından çağırabilirsiniz ancak özelliklerin tutarlı bir anlık görüntüsünün nesneye aktarılmasını sağlamak için WebRequest eşitleme yapılmaz. Bu nedenle, özellikleri değiştirmeniz ve farklı iş parçacıklarından eşzamanlı yöntem çağrıları yapmanız gerekiyorsa, XML Web hizmeti proxy'sinin farklı bir örneğini kullanmanız veya kendi eşitlemenizi sağlamanız gerekir.