OperationInput 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义 XML Web services 所接收的输入消息的规范。 此类不能被继承。
public ref class OperationInput sealed : System::Web::Services::Description::OperationMessagepublic sealed class OperationInput : System.Web.Services.Description.OperationMessage[System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")]
public sealed class OperationInput : System.Web.Services.Description.OperationMessagetype OperationInput = class
    inherit OperationMessage[<System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")>]
type OperationInput = class
    inherit OperationMessagePublic NotInheritable Class OperationInput
Inherits OperationMessage- 继承
- 继承
- 属性
示例
#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::Services::Description;
using namespace System::Collections;
using namespace System::Xml;
int main()
{
   try
   {
      ServiceDescription^ myDescription = ServiceDescription::Read( "AddNumbersIn_cs.wsdl" );
      // Add the ServiceHttpPost binding.
      Binding^ myBinding = gcnew Binding;
      myBinding->Name = "ServiceHttpPost";
      XmlQualifiedName^ myXmlQualifiedName = gcnew XmlQualifiedName( "s0:ServiceHttpPost" );
      myBinding->Type = myXmlQualifiedName;
      HttpBinding^ myHttpBinding = gcnew HttpBinding;
      myHttpBinding->Verb = "POST";
      myBinding->Extensions->Add( myHttpBinding );
      // Add the operation name AddNumbers.
      OperationBinding^ myOperationBinding = gcnew OperationBinding;
      myOperationBinding->Name = "AddNumbers";
      HttpOperationBinding^ myOperation = gcnew HttpOperationBinding;
      myOperation->Location = "/AddNumbers";
      myOperationBinding->Extensions->Add( myOperation );
      // Add the input binding.
      InputBinding^ myInput = gcnew InputBinding;
      MimeContentBinding^ postMimeContentbinding = gcnew MimeContentBinding;
      postMimeContentbinding->Type = "application/x-www-form-urlencoded";
      myInput->Extensions->Add( postMimeContentbinding );
      // Add the InputBinding to the OperationBinding.
      myOperationBinding->Input = myInput;
      // Add the ouput binding.
      OutputBinding^ myOutput = gcnew OutputBinding;
      MimeXmlBinding^ postMimeXmlBinding = gcnew MimeXmlBinding;
      postMimeXmlBinding->Part = "Body";
      myOutput->Extensions->Add( postMimeXmlBinding );
      // Add the OutputBinding to the OperationBinding.
      myOperationBinding->Output = myOutput;
      myBinding->Operations->Add( myOperationBinding );
      myDescription->Bindings->Add( myBinding );
      // Add the port definition.
      Port^ postPort = gcnew Port;
      postPort->Name = "ServiceHttpPost";
      postPort->Binding = gcnew XmlQualifiedName( "s0:ServiceHttpPost" );
      HttpAddressBinding^ postAddressBinding = gcnew HttpAddressBinding;
      postAddressBinding->Location = "http://localhost/Service.cs.asmx";
      postPort->Extensions->Add( postAddressBinding );
      myDescription->Services[ 0 ]->Ports->Add( postPort );
      // Add the post port type definition.
      PortType^ postPortType = gcnew PortType;
      postPortType->Name = "ServiceHttpPost";
      Operation^ postOperation = gcnew Operation;
      postOperation->Name = "AddNumbers";
      OperationMessage^ postOutput = dynamic_cast<OperationMessage^>(gcnew OperationOutput);
      postOutput->Message = gcnew XmlQualifiedName( "s0:AddNumbersHttpPostOut" );
      OperationInput^ postInput = gcnew OperationInput;
      postInput->Message = gcnew XmlQualifiedName( "s0:AddNumbersHttpPostIn" );
      postOperation->Messages->Add( postInput );
      postOperation->Messages->Add( postOutput );
      postPortType->Operations->Add( postOperation );
      myDescription->PortTypes->Add( postPortType );
      // Add the first message information.
      Message^ postMessage1 = gcnew Message;
      postMessage1->Name = "AddNumbersHttpPostIn";
      MessagePart^ postMessagePart1 = gcnew MessagePart;
      postMessagePart1->Name = "firstnumber";
      postMessagePart1->Type = gcnew XmlQualifiedName( "s:string" );
      // Add the second message information.
      MessagePart^ postMessagePart2 = gcnew MessagePart;
      postMessagePart2->Name = "secondnumber";
      postMessagePart2->Type = gcnew XmlQualifiedName( "s:string" );
      postMessage1->Parts->Add( postMessagePart1 );
      postMessage1->Parts->Add( postMessagePart2 );
      Message^ postMessage2 = gcnew Message;
      postMessage2->Name = "AddNumbersHttpPostOut";
      // Add the third message information.
      MessagePart^ postMessagePart3 = gcnew MessagePart;
      postMessagePart3->Name = "Body";
      postMessagePart3->Element = gcnew XmlQualifiedName( "s0:int" );
      postMessage2->Parts->Add( postMessagePart3 );
      myDescription->Messages->Add( postMessage1 );
      myDescription->Messages->Add( postMessage2 );
      // Write the ServiceDescription as a WSDL file.
      myDescription->Write( "AddNumbersOut_cs.wsdl" );
      Console::WriteLine( "WSDL file named AddNumberOut_cs.Wsdl"
      " created successfully." );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception caught!!!" );
      Console::WriteLine( "Source : {0}", e->Source );
      Console::WriteLine( "Message : {0}", e->Message );
   }
}
using System;
using System.Web.Services.Description;
using System.Collections;
using System.Xml;
class MyOperationInputSample
{
   public static void Main()
   {
      try
      {
         ServiceDescription myDescription =
            ServiceDescription.Read("AddNumbersIn_cs.wsdl");
         // Add the ServiceHttpPost binding.
         Binding myBinding = new Binding();
         myBinding.Name = "ServiceHttpPost";
         XmlQualifiedName myXmlQualifiedName =
            new XmlQualifiedName ("s0:ServiceHttpPost");
         myBinding.Type = myXmlQualifiedName;
         HttpBinding myHttpBinding = new HttpBinding();
         myHttpBinding.Verb = "POST";
         myBinding.Extensions.Add(myHttpBinding);
         // Add the operation name AddNumbers.
         OperationBinding myOperationBinding = new OperationBinding();
         myOperationBinding.Name = "AddNumbers";
         HttpOperationBinding myOperation = new HttpOperationBinding();
         myOperation.Location = "/AddNumbers";
         myOperationBinding.Extensions.Add(myOperation);
         // Add the input binding.
         InputBinding myInput = new InputBinding();
         MimeContentBinding postMimeContentbinding =
           new MimeContentBinding();
         postMimeContentbinding.Type= "application/x-www-form-urlencoded";
         myInput.Extensions.Add(postMimeContentbinding);
         // Add the InputBinding to the OperationBinding.
         myOperationBinding.Input = myInput;
         // Add the ouput binding.
         OutputBinding myOutput = new OutputBinding();
         MimeXmlBinding postMimeXmlBinding = new MimeXmlBinding();
         postMimeXmlBinding.Part= "Body";
         myOutput.Extensions.Add(postMimeXmlBinding);
         // Add the OutputBinding to the OperationBinding.
         myOperationBinding.Output = myOutput;
         myBinding.Operations.Add(myOperationBinding);
         myDescription.Bindings.Add(myBinding);
         // Add the port definition.
         Port postPort = new Port();
         postPort.Name = "ServiceHttpPost";
         postPort.Binding = new XmlQualifiedName("s0:ServiceHttpPost");
         HttpAddressBinding postAddressBinding = new HttpAddressBinding();
         postAddressBinding.Location = "http://localhost/Service.cs.asmx";
         postPort.Extensions.Add(postAddressBinding);
         myDescription.Services[0].Ports.Add(postPort);
         // Add the post port type definition.
         PortType postPortType = new PortType();
         postPortType.Name = "ServiceHttpPost";
         Operation postOperation = new Operation();
         postOperation.Name = "AddNumbers";
         OperationMessage postOutput =
            (OperationMessage)new OperationOutput();
         postOutput.Message =
            new XmlQualifiedName ("s0:AddNumbersHttpPostOut");
         OperationInput postInput = new OperationInput();
         postInput.Message =
            new XmlQualifiedName ("s0:AddNumbersHttpPostIn");
         postOperation.Messages.Add(postInput);
         postOperation.Messages.Add(postOutput);
         postPortType.Operations.Add(postOperation);
         myDescription.PortTypes.Add(postPortType);
         // Add the first message information.
         Message postMessage1 = new Message();
         postMessage1.Name="AddNumbersHttpPostIn";
         MessagePart postMessagePart1 = new MessagePart();
         postMessagePart1.Name = "firstnumber";
         postMessagePart1.Type = new XmlQualifiedName("s:string");
         // Add the second message information.
         MessagePart postMessagePart2 = new MessagePart();
         postMessagePart2.Name = "secondnumber";
         postMessagePart2.Type = new XmlQualifiedName("s:string");
         postMessage1.Parts.Add(postMessagePart1);
         postMessage1.Parts.Add(postMessagePart2);
         Message postMessage2 = new Message();
         postMessage2.Name = "AddNumbersHttpPostOut";
         // Add the third message information.
         MessagePart postMessagePart3 = new MessagePart();
         postMessagePart3.Name = "Body";
         postMessagePart3.Element = new XmlQualifiedName("s0:int");
         postMessage2.Parts.Add(postMessagePart3);
         myDescription.Messages.Add(postMessage1);
         myDescription.Messages.Add(postMessage2);
         // Write the ServiceDescription as a WSDL file.
         myDescription.Write("AddNumbersOut_cs.wsdl");
         Console.WriteLine("WSDL file named AddNumberOut_cs.Wsdl" +
            " created successfully.");
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }
}
Imports System.Web.Services.Description
Imports System.Collections
Imports System.Xml
Class MyOperationInputSample
   Public Shared Sub Main()
      Try
         Dim myDescription As ServiceDescription = _
            ServiceDescription.Read("AddNumbersIn_vb.wsdl")
         ' Add the ServiceHttpPost binding.
         Dim myBinding As New Binding()
         myBinding.Name = "ServiceHttpPost"
         Dim myXmlQualifiedName As New XmlQualifiedName("s0:ServiceHttpPost")
         myBinding.Type = myXmlQualifiedName
         Dim myHttpBinding As New HttpBinding()
         myHttpBinding.Verb = "POST"
         myBinding.Extensions.Add(myHttpBinding)
         ' Add the operation name AddNumbers.
         Dim myOperationBinding As New OperationBinding()
         myOperationBinding.Name = "AddNumbers"
         Dim myOperation As New HttpOperationBinding()
         myOperation.Location = "/AddNumbers"
         myOperationBinding.Extensions.Add(myOperation)
         ' Add the input binding.
         Dim myInput As New InputBinding()
         Dim postMimeContentbinding As New MimeContentBinding()
         postMimeContentbinding.Type = "application/x-www-form-urlencoded"
         myInput.Extensions.Add(postMimeContentbinding)
         ' Add the InputBinding to the OperationBinding.
         myOperationBinding.Input = myInput
         ' Add the ouput binding.
         Dim myOutput As New OutputBinding()
         Dim postMimeXmlBinding As New MimeXmlBinding()
         postMimeXmlBinding.Part = "Body"
         myOutput.Extensions.Add(postMimeXmlBinding)
         ' Add the OutputBinding to the OperationBinding.
         myOperationBinding.Output = myOutput
         myBinding.Operations.Add(myOperationBinding)
         myDescription.Bindings.Add(myBinding)
         ' Add the port definition.
         Dim postPort As New Port()
         postPort.Name = "ServiceHttpPost"
         postPort.Binding = New XmlQualifiedName("s0:ServiceHttpPost")
         Dim postAddressBinding As New HttpAddressBinding()
         postAddressBinding.Location = "http://localhost/Service.vb.asmx"
         postPort.Extensions.Add(postAddressBinding)
         myDescription.Services(0).Ports.Add(postPort)
         ' Add the post port type definition.
         Dim postPortType As New PortType()
         postPortType.Name = "ServiceHttpPost"
         Dim postOperation As New Operation()
         postOperation.Name = "AddNumbers"
         Dim postOutput As OperationMessage = _
            CType(New OperationOutput(), OperationMessage)
         postOutput.Message = New XmlQualifiedName("s0:AddNumbersHttpPostOut")
         Dim postInput As New OperationInput()
         postInput.Message = New XmlQualifiedName("s0:AddNumbersHttpPostIn")
         postOperation.Messages.Add(postInput)
         postOperation.Messages.Add(postOutput)
         postPortType.Operations.Add(postOperation)
         myDescription.PortTypes.Add(postPortType)
         ' Add the first message information.
         Dim postMessage1 As New Message()
         postMessage1.Name = "AddNumbersHttpPostIn"
         Dim postMessagePart1 As New MessagePart()
         postMessagePart1.Name = "firstnumber"
         postMessagePart1.Type = New XmlQualifiedName("s:string")
         ' Add the second message information.
         Dim postMessagePart2 As New MessagePart()
         postMessagePart2.Name = "secondnumber"
         postMessagePart2.Type = New XmlQualifiedName("s:string")
         postMessage1.Parts.Add(postMessagePart1)
         postMessage1.Parts.Add(postMessagePart2)
         Dim postMessage2 As New Message()
         postMessage2.Name = "AddNumbersHttpPostOut"
         ' Add the third message information.
         Dim postMessagePart3 As New MessagePart()
         postMessagePart3.Name = "Body"
         postMessagePart3.Element = New XmlQualifiedName("s0:int")
         postMessage2.Parts.Add(postMessagePart3)
         myDescription.Messages.Add(postMessage1)
         myDescription.Messages.Add(postMessage2)
         ' Write the ServiceDescription as a WSDL file.
         myDescription.Write("AddNumbersOut_vb.wsdl")
         Console.WriteLine("WSDL file named AddNumberOut_vb.Wsdl" & _
            " created successfully.")
      Catch e As Exception
         Console.WriteLine("Exception caught!!!")
         Console.WriteLine("Source : " & e.Source)
         Console.WriteLine("Message : " & e.Message)
      End Try
   End Sub 
End Class
注解
此类的确切一个实例是父Operation实例的属性的成员Messages。
该 OperationInput 类对应于 Web 服务描述语言 (WSDL) input 元素括 operation 起来的元素,该元素又由 portType 该元素括起来。 有关 WSDL 的更多信息,请参阅 WSDL 规范。
构造函数
| OperationInput() | 初始化 OperationInput 类的新实例。 | 
属性
| Documentation | 获取或设置 DocumentableItem 的实例的文本文档。(继承自 DocumentableItem) | 
| DocumentationElement | 获取或设置 DocumentableItem 的文档元素。(继承自 DocumentableItem) | 
| ExtensibleAttributes | 获取或设置类型为 XmlAttribute 的数组,该数组表示为符合 Web 服务互操作性 (WS-I) 基本概要 1.1 而进行的 WSDL 特性扩展。(继承自 DocumentableItem) | 
| Extensions | 获取与此 ServiceDescriptionFormatExtensionCollection 关联的 OperationInput。 | 
| Extensions | 获取与此 ServiceDescriptionFormatExtensionCollection 关联的 DocumentableItem。(继承自 DocumentableItem) | 
| Message | 获取或设置正在传送的数据的抽象的类型化的定义。(继承自 OperationMessage) | 
| Name | 获取或设置 OperationMessage 的名称。(继承自 OperationMessage) | 
| Namespaces | 获取或设置命名空间前缀和命名空间的字典,该字典用于在构造 ServiceDescription 对象时,保留命名空间的前缀和命名空间。(继承自 DocumentableItem) | 
| Operation | 获取 Operation 为其成员的 OperationMessage。(继承自 OperationMessage) | 
方法
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) |