BasicHttpBinding 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 Windows Communication Foundation (WCF) 服务可用于配置和公开能够与基于 ASMX 的 Web 服务和客户端以及符合 WS-I 基本配置文件 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 服务或配置了 BasicHttpBinding 的 Windows Communication Foundation (WCF) 服务。
默认情况下,安全性处于关闭状态,但可以向构造函数以外的BasicHttpBinding(BasicHttpSecurityMode)值None添加设置BasicHttpSecurityMode。 默认情况下,它使用“文本”消息编码和 UTF-8 文本编码。
构造函数
| 名称 | 说明 |
|---|---|
| BasicHttpBinding() |
初始化 BasicHttpBinding 类的新实例。 |
| BasicHttpBinding(BasicHttpSecurityMode) |
使用绑定使用的指定安全类型初始化类的新实例 BasicHttpBinding 。 |
| BasicHttpBinding(String) |
使用由其配置名称指定的绑定初始化类的新实例 BasicHttpBinding 。 |
属性
| 名称 | 说明 |
|---|---|
| AllowCookies |
获取或设置一个值,该值指示客户端是否接受 Cookie 并在将来的请求上传播 Cookie。 |
| AllowCookies |
获取或设置一个值,该值指示客户端是否接受 Cookie 并在将来的请求上传播 Cookie。 (继承自 HttpBindingBase) |
| BypassProxyOnLocal |
获取或设置一个值,该值指示是否绕过本地地址的代理服务器。 |
| BypassProxyOnLocal |
获取或设置一个值,该值指示是否绕过本地地址的代理服务器。 (继承自 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 还是文本用于对 SOAP 消息进行编码。 |
| MessageVersion |
获取使用绑定配置的客户端和服务使用的消息版本。 (继承自 Binding) |
| Name |
获取或设置绑定的名称。 (继承自 Binding) |
| Namespace |
获取或设置绑定的 XML 命名空间。 (继承自 Binding) |
| OpenTimeout |
获取或设置在传输引发异常之前为连接打开提供的时间间隔。 (继承自 Binding) |
| ProxyAddress |
获取或设置 HTTP 代理的 URI 地址。 |
| ProxyAddress |
获取或设置 HTTP 代理的 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 代理(如果可用)。 |
| UseDefaultWebProxy |
获取或设置一个值,该值指示是否应使用系统自动配置的 HTTP 代理(如果可用)。 (继承自 HttpBindingBase) |
方法
显式接口实现
| 名称 | 说明 |
|---|---|
| IBindingRuntimePreferences.ReceiveSynchronously |
获取一个值,该值指示是同步还是异步处理传入请求。 |
| IBindingRuntimePreferences.ReceiveSynchronously |
获取一个值,该值指示是同步还是异步处理传入请求。 (继承自 HttpBindingBase) |