BasicHttpBinding 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表繫結,Windows Communication Foundation (WCF) 服務可使用該繫結設定並公開能與 ASMX Web 服務和用戶端,以及其他符合 WS-I Basic Profile 1.1 的服務進行通訊的端點。
public ref class BasicHttpBinding : System::ServiceModel::HttpBindingBase
public ref class BasicHttpBinding : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public class BasicHttpBinding : System.ServiceModel.HttpBindingBase
public class BasicHttpBinding : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type BasicHttpBinding = class
inherit HttpBindingBase
type BasicHttpBinding = class
inherit Binding
interface IBindingRuntimePreferences
Public Class BasicHttpBinding
Inherits HttpBindingBase
Public Class BasicHttpBinding
Inherits Binding
Implements IBindingRuntimePreferences
- 繼承
- 繼承
- 衍生
- 實作
範例
下列範例會示範如何在應用程式組態檔中設定 BasicHttpBinding。
下列範例會示範如何以程式設計的方式設定 BasicHttpBinding。
[ServiceContract(Namespace = "http://UE.ServiceModel.Samples")]
public interface ICalculator
{
[OperationContract(IsOneWay = false)]
double Add(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Subtract(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Multiply(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Divide(double n1, double n2);
}
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
double result = n1 + n2;
Console.WriteLine("Received Add({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public double Subtract(double n1, double n2)
{
double result = n1 - n2;
Console.WriteLine("Received Subtract({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public double Multiply(double n1, double n2)
{
double result = n1 * n2;
Console.WriteLine("Received Multiply({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public double Divide(double n1, double n2)
{
double result = n1 / n2;
Console.WriteLine("Received Divide({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public static void Main()
{
BasicHttpBinding binding = new BasicHttpBinding();
binding.Name = "binding1";
binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
binding.Security.Mode = BasicHttpSecurityMode.None;
Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
Uri address = new Uri("http://localhost:8000/servicemodelsamples/service/calc");
// Create a ServiceHost for the CalculatorService type and provide the base address.
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address);
// Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
serviceHost.Close();
}
}
<ServiceContract(Namespace:="http://UE.ServiceModel.Samples")> _
Public Interface ICalculator
<OperationContract()> _
Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface
' Service class which implements the service contract.
' Added code to write output to the console window
Public Class CalculatorService
Implements ICalculator
Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Add
Dim result As Double = n1 + n2
Console.WriteLine("Received Add({0},{1})", n1, n2)
Console.WriteLine("Return: {0}", result)
Return result
End Function
Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Subtract
Dim result As Double = n1 - n2
Console.WriteLine("Received Subtract({0},{1})", n1, n2)
Console.WriteLine("Return: {0}", result)
Return result
End Function
Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Multiply
Dim result As Double = n1 * n2
Console.WriteLine("Received Multiply({0},{1})", n1, n2)
Console.WriteLine("Return: {0}", result)
Return result
End Function
Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double _
Implements ICalculator.Divide
Dim result As Double = n1 / n2
Console.WriteLine("Received Divide({0},{1})", n1, n2)
Console.WriteLine("Return: {0}", result)
Return result
End Function
Public Shared Sub Main()
Dim binding As BasicHttpBinding = New BasicHttpBinding()
binding.Name = "binding1"
binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
binding.Security.Mode = BasicHttpSecurityMode.None
Dim baseAddress As Uri = New Uri("http://localhost:8000/servicemodelsamples/service")
Dim address As Uri = New Uri("http://localhost:8000/servicemodelsamples/service/calc")
' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, address)
' Open the ServiceHost to create listeners and start listening for messages.
serviceHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
' Close the ServiceHost to shutdown the service.
serviceHost.Close()
End Using
End Sub
End Class
備註
BasicHttpBinding 使用 HTTP 做為傳送 SOAP 1.1 訊息的傳輸。 服務可使用這個繫結公開符合 WS-I BP 1.1 的端點,例如 ASMX 用戶端存取的端點。 同樣地,用戶端可以使用 BasicHttpBinding 來與公開符合 WS-I BP 1.1 之端點的服務通訊,例如 ASMX Web 服務或 Windows Communication Foundation (WCF) 設定的服務 BasicHttpBinding 。
安全性預設是關閉的,但是可以在 BasicHttpSecurityMode 建構函式中透過將 None 設為非 BasicHttpBinding(BasicHttpSecurityMode) 的值來新增。 根據預設,它使用「文字」訊息編碼和 UTF-8 文字編碼。
建構函式
BasicHttpBinding() |
初始化 BasicHttpBinding 類別的新執行個體。 |
BasicHttpBinding(BasicHttpSecurityMode) |
使用由繫結所使用之安全性的指定類型,初始化 BasicHttpBinding 類別的新執行個體。 |
BasicHttpBinding(String) |
使用由組態名稱指定的繫結,初始化 BasicHttpBinding 類別的新執行個體。 |
屬性
AllowCookies |
取得或設定值,這個值會指出用戶端是否接受 Cookie 並依未來要求傳播 Cookie。 |
AllowCookies |
取得或設定值,這個值會指出用戶端是否接受 Cookie 並依未來要求傳播 Cookie。 (繼承來源 HttpBindingBase) |
BypassProxyOnLocal |
取得或設定值,這個值表示是否略過 Proxy 伺服器而改用本機位址。 |
BypassProxyOnLocal |
取得或設定值,這個值表示是否略過 Proxy 伺服器而改用本機位址。 (繼承來源 HttpBindingBase) |
CloseTimeout |
取得或設定針對連線所提供的時間間隔 (此連線要在傳輸引發例外狀況之前關閉)。 (繼承來源 Binding) |
EnableHttpCookieContainer |
已淘汰.
取得或設定值,指出是否已啟用 HTTP Cookie 容器。 |
EnvelopeVersion |
取得 SOAP 的版本,這個版本是用於由此繫結處理的訊息。 |
EnvelopeVersion |
取得 SOAP 的版本,這個版本是用於由此繫結處理的訊息。 (繼承來源 HttpBindingBase) |
HostNameComparisonMode |
取得或設定值,這個值會指出在比對 URI 時此主機名稱是否會用來取用服務。 |
HostNameComparisonMode |
取得或設定值,這個值會指出在比對 URI 時此主機名稱是否會用來取用服務。 (繼承來源 HttpBindingBase) |
MaxBufferPoolSize |
取得或設定配置供訊息緩衝區管理員使用的最大記憶體量 (以位元組為單位),其中訊息緩衝區會從通道接收訊息。 |
MaxBufferPoolSize |
取得或設定配置供訊息緩衝區管理員使用的最大記憶體量 (以位元組為單位),其中訊息緩衝區會從通道接收訊息。 (繼承來源 HttpBindingBase) |
MaxBufferSize |
取得或設定自通道接收訊息的緩衝區大小上限 (以位元組為單位)。 |
MaxBufferSize |
取得或設定自通道接收訊息的緩衝區大小上限 (以位元組為單位)。 (繼承來源 HttpBindingBase) |
MaxReceivedMessageSize |
取得或設定可在使用此繫結所設定之通道上接收的訊息大小上限 (以位元組為單位)。 |
MaxReceivedMessageSize |
取得或設定可在使用此繫結所設定之通道上接收的訊息大小上限 (以位元組為單位)。 (繼承來源 HttpBindingBase) |
MessageEncoding |
取得或設定 MTOM 或 Text 是否要用來編碼 SOAP 訊息。 |
MessageVersion |
取得用戶端所使用的訊息版本及使用繫結所設定的服務。 (繼承來源 Binding) |
Name |
取得或設定繫結的名稱。 (繼承來源 Binding) |
Namespace |
取得或設定繫結的 XML 命名空間。 (繼承來源 Binding) |
OpenTimeout |
取得或設定針對連線所提供的時間間隔 (此連線要在傳輸引發例外狀況之前開啟)。 (繼承來源 Binding) |
ProxyAddress |
取得或設定 HTTP Proxy 的 URI 位址。 |
ProxyAddress |
取得或設定 HTTP Proxy 的 URI 位址。 (繼承來源 HttpBindingBase) |
ReaderQuotas |
取得或設定 SOAP 訊息複雜性的條件約束,而這些條件約束可由以此繫結所設定的端點處理。 |
ReaderQuotas |
取得或設定 SOAP 訊息複雜性的條件約束,而這些條件約束可由以此繫結所設定的端點處理。 (繼承來源 HttpBindingBase) |
ReceiveTimeout |
取得或設定連線中斷之前,可以維持非作用狀態的時間間隔 (在此期間未接收應用程式訊息)。 (繼承來源 Binding) |
Scheme |
取得使用這項繫結所設定之通道與接聽程式的 URI 傳輸配置。 |
Scheme |
取得使用這項繫結所設定之通道與接聽程式的 URI 傳輸配置。 (繼承來源 HttpBindingBase) |
Security |
取得要搭配此繫結使用的安全性類型。 |
SendTimeout |
取得或設定針對寫入作業所提供的時間間隔 (此作業要在傳輸引發例外狀況之前完成)。 (繼承來源 Binding) |
TextEncoding |
取得或設定用於訊息文字的字元編碼。 |
TextEncoding |
取得或設定用於訊息文字的字元編碼。 (繼承來源 HttpBindingBase) |
TransferMode |
取得或設定值,這個值會指出訊息是以經過緩衝處理或資料流處理的方式傳送。 |
TransferMode |
取得或設定值,這個值會指出訊息是以經過緩衝處理或資料流處理的方式傳送。 (繼承來源 HttpBindingBase) |
UseDefaultWebProxy |
取得或設定值,這個值會指出是否應使用系統自動設定的 HTTP Proxy (如果有的話)。 |
UseDefaultWebProxy |
取得或設定值,這個值會指出是否應使用系統自動設定的 HTTP Proxy (如果有的話)。 (繼承來源 HttpBindingBase) |
方法
明確介面實作
IBindingRuntimePreferences.ReceiveSynchronously |
取得值,這個值會指出要以同步或非同步方式處理傳入要求。 |
IBindingRuntimePreferences.ReceiveSynchronously |
取得值,這個值會指出要以同步或非同步方式處理傳入要求。 (繼承來源 HttpBindingBase) |