当前位置: 首页>>代码示例>>C#>>正文


C# OperationFlow枚举代码示例

本文整理汇总了C#中System.Web.Services.Description.OperationFlow枚举的典型用法代码示例。如果您正苦于以下问题:C# OperationFlow枚举的具体用法?C# OperationFlow怎么用?C# OperationFlow使用的例子?那么, 这里精选的枚举代码示例或许可以为您提供帮助。


在下文中一共展示了OperationFlow枚举的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.Xml;
using System.Web.Services;
using System.Web.Services.Description;

class MyOperationFlowSample
{
   public static void Main()
   {
      try
      {
         ServiceDescription myDescription = 
            ServiceDescription.Read("MathService_Input_cs.wsdl");
         PortTypeCollection  myPortTypeCollection  = 
            myDescription.PortTypes;

         // Get the OperationCollection for SOAP protocol.
         OperationCollection myOperationCollection = 
            myPortTypeCollection[0].Operations;

         // Get the OperationMessageCollection for the Add operation.
         OperationMessageCollection myOperationMessageCollection = 
            myOperationCollection[0].Messages;

         // Indicate that the endpoint or service receives no 
         // transmissions (None).
         Console.WriteLine("myOperationMessageCollection does not " +
            "contain any operation messages.");
         DisplayOperationFlowDescription(myOperationMessageCollection.Flow);
         Console.WriteLine();

         // Indicate that the endpoint or service receives a message (OneWay).
         OperationMessage myInputOperationMessage = 
            (OperationMessage) new OperationInput();
         XmlQualifiedName myXmlQualifiedName = 
            new XmlQualifiedName("AddSoapIn", myDescription.TargetNamespace);
         myInputOperationMessage.Message = myXmlQualifiedName;
         myOperationMessageCollection.Add(myInputOperationMessage);
         Console.WriteLine("myOperationMessageCollection contains " +
            "only input operation messages.");
         DisplayOperationFlowDescription(myOperationMessageCollection.Flow);
         Console.WriteLine();

         myOperationMessageCollection.Remove(myInputOperationMessage);

         // Indicate that an endpoint or service sends a message (Notification).
         OperationMessage myOutputOperationMessage = 
            (OperationMessage) new OperationOutput();
         XmlQualifiedName myXmlQualifiedName1 = new XmlQualifiedName
            ("AddSoapOut", myDescription.TargetNamespace);
         myOutputOperationMessage.Message = myXmlQualifiedName1;
         myOperationMessageCollection.Add(myOutputOperationMessage);
         Console.WriteLine("myOperationMessageCollection contains " +
            "only output operation messages.");
         DisplayOperationFlowDescription(myOperationMessageCollection.Flow);
         Console.WriteLine();

         // Indicate that an endpoint or service sends a message, then
         // receives a correlated message (SolicitResponse).
         myOperationMessageCollection.Add(myInputOperationMessage);
         Console.WriteLine("'myOperationMessageCollection' contains " +
            "an output operation message first, then " +
            "an input operation message.");
         DisplayOperationFlowDescription(myOperationMessageCollection.Flow);
         Console.WriteLine();

         // Indicate that an endpoint or service receives a message,
         // then sends a correlated message (RequestResponse).
         myOperationMessageCollection.Remove(myInputOperationMessage);
         myOperationMessageCollection.Insert(0, myInputOperationMessage);
         Console.WriteLine("myOperationMessageCollection contains " +
            "an input operation message first, then " +
            "an output operation message.");
         DisplayOperationFlowDescription(myOperationMessageCollection.Flow);
         Console.WriteLine();

         myDescription.Write("MathService_new_cs.wsdl");
         Console.WriteLine(
            "The file MathService_new_cs.wsdl was successfully written.");
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }

   public static void DisplayOperationFlowDescription(
      OperationFlow myOperationFlow)
   {
      switch(myOperationFlow)
      {
         case OperationFlow.None:
            Console.WriteLine("Indicates that the endpoint or service " +
               "receives no transmissions (None).");
            break;
         case OperationFlow.OneWay:
            Console.WriteLine("Indicates that the endpoint or service " +
               "receives a message (OneWay).");
            break;
         case OperationFlow.Notification:
            Console.WriteLine("Indicates that the endpoint or service " +
               "sends a message (Notification).");
            break;
         case OperationFlow.SolicitResponse:
            Console.WriteLine("Indicates that the endpoint or service " +
               "sends a message, then receives a " +
               "correlated message (SolicitResponse).");
            break;
         case OperationFlow.RequestResponse:
            Console.WriteLine("Indicates that the endpoint or service " +
               "receives a message, then sends a " +
               "correlated message (RequestResponse).");
            break;
      }
   }
}
开发者ID:.NET开发者,项目名称:System.Web.Services.Description,代码行数:119,代码来源:OperationFlow


注:本文中的System.Web.Services.Description.OperationFlow枚举示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。