PortType.Operations Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
property System::Web::Services::Description::OperationCollection ^ Operations { System::Web::Services::Description::OperationCollection ^ get(); };
public System.Web.Services.Description.OperationCollection Operations { get; }
member this.Operations : System.Web.Services.Description.OperationCollection
Public ReadOnly Property Operations As OperationCollection
Значение свойства
Коллекция экземпляров операции, заданная с помощью объекта PortType.
Примеры
#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::Services::Description;
using namespace System::Xml;
Operation^ CreateOperation( String^ operationName, String^ inputMessage, String^ outputMessage, String^ targetNamespace )
{
Operation^ myOperation = gcnew Operation;
myOperation->Name = operationName;
OperationMessage^ input = dynamic_cast<OperationMessage^>(gcnew OperationInput);
input->Message = gcnew XmlQualifiedName( inputMessage,targetNamespace );
OperationMessage^ output = dynamic_cast<OperationMessage^>(gcnew OperationOutput);
output->Message = gcnew XmlQualifiedName( outputMessage,targetNamespace );
myOperation->Messages->Add( input );
myOperation->Messages->Add( output );
return myOperation;
}
int main()
{
try
{
PortTypeCollection^ myPortTypeCollection;
ServiceDescription^ myServiceDescription = ServiceDescription::Read( "MathService_CS.wsdl" );
myPortTypeCollection = myServiceDescription->PortTypes;
int noOfPortTypes = myServiceDescription->PortTypes->Count;
Console::WriteLine( "\nTotal number of PortTypes : {0}", noOfPortTypes );
PortType^ myPortType = myPortTypeCollection[ "MathServiceSoap" ];
myPortTypeCollection->Remove( myPortType );
// Create a new PortType.
PortType^ myNewPortType = gcnew PortType;
myNewPortType->Name = "MathServiceSoap";
OperationCollection^ myOperationCollection = myServiceDescription->PortTypes[ 0 ]->Operations;
String^ inputMsg;
String^ outputMsg;
for ( int i = 0; i < myOperationCollection->Count; i++ )
{
inputMsg = String::Concat( myOperationCollection[ i ]->Name, "SoapIn" );
outputMsg = String::Concat( myOperationCollection[ i ]->Name, "SoapOut" );
Console::WriteLine( " Operation = {0}", myOperationCollection[ i ]->Name );
myNewPortType->Operations->Add( CreateOperation( myOperationCollection[ i ]->Name, inputMsg, outputMsg, myServiceDescription->TargetNamespace ) );
}
myPortTypeCollection->Add( myNewPortType );
noOfPortTypes = myServiceDescription->PortTypes->Count;
Console::WriteLine( "\nTotal number of PortTypes : {0}", noOfPortTypes );
myServiceDescription->Write( "MathService_New.wsdl" );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception:{0}", e->Message );
}
}
using System;
using System.Web.Services.Description;
using System.Xml;
class MyPortTypeClass
{
public static void Main()
{
try
{
PortTypeCollection myPortTypeCollection;
ServiceDescription myServiceDescription =
ServiceDescription.Read("MathService_CS.wsdl");
myPortTypeCollection = myServiceDescription.PortTypes;
int noOfPortTypes = myServiceDescription.PortTypes.Count;
Console.WriteLine("\nTotal number of PortTypes : "
+ noOfPortTypes);
PortType myPortType = myPortTypeCollection["MathServiceSoap"];
myPortTypeCollection.Remove(myPortType);
// Create a new PortType.
PortType myNewPortType = new PortType();
myNewPortType.Name = "MathServiceSoap";
OperationCollection myOperationCollection =
myServiceDescription.PortTypes[0].Operations;
string inputMsg,outputMsg;
for(int i = 0; i < myOperationCollection.Count; i++)
{
inputMsg = myOperationCollection[i].Name + "SoapIn";
outputMsg = myOperationCollection[i].Name + "SoapOut";
Console.WriteLine(" Operation = " + myOperationCollection[i].Name);
myNewPortType.Operations.Add(
CreateOperation(myOperationCollection[i].Name,
inputMsg, outputMsg, myServiceDescription.TargetNamespace));
}
// Add the PortType to the collection.
myPortTypeCollection.Add(myNewPortType);
noOfPortTypes = myServiceDescription.PortTypes.Count;
Console.WriteLine("\nTotal number of PortTypes : "
+ noOfPortTypes);
myServiceDescription.Write("MathService_New.wsdl");
}
catch(Exception e)
{
Console.WriteLine("Exception:" + e.Message);
}
}
public static Operation CreateOperation(string operationName,
string inputMessage,string outputMessage,string targetNamespace)
{
Operation myOperation = new Operation();
myOperation.Name = operationName;
OperationMessage input = (OperationMessage) new OperationInput();
input.Message = new XmlQualifiedName(inputMessage, targetNamespace);
OperationMessage output = (OperationMessage) new OperationOutput();
output.Message = new XmlQualifiedName(outputMessage, targetNamespace);
myOperation.Messages.Add(input);
myOperation.Messages.Add(output);
return myOperation;
}
}
Imports System.Web.Services.Description
Imports System.Xml
Class MyPortTypeClass
Public Shared Sub Main()
Try
Dim myPortTypeCollection As PortTypeCollection
Dim myServiceDescription As ServiceDescription = _
ServiceDescription.Read("MathService_VB.wsdl")
myPortTypeCollection = myServiceDescription.PortTypes
Dim noOfPortTypes As Integer = myServiceDescription.PortTypes.Count
Console.WriteLine( _
ControlChars.Newline & "Total number of PortTypes : " & _
noOfPortTypes.ToString())
Dim myPortType As PortType = myPortTypeCollection("MathServiceSoap")
myPortTypeCollection.Remove(myPortType)
' Create a new PortType.
Dim myNewPortType As New PortType()
myNewPortType.Name = "MathServiceSoap"
Dim myOperationCollection As OperationCollection = _
myServiceDescription.PortTypes(0).Operations
Dim i As Integer
Dim inputMsg As String
Dim outputMsg As String
For i = 0 To myOperationCollection.Count - 1
inputMsg = myOperationCollection(i).Name & "SoapIn"
outputMsg = myOperationCollection(i).Name & "SoapOut"
Console.WriteLine(" Operation = " & myOperationCollection(i).Name)
myNewPortType.Operations.Add( _
CreateOperation(myOperationCollection(i).Name, inputMsg, _
outputMsg, myServiceDescription.TargetNamespace))
Next i
' Add the PortType to the collection.
myPortTypeCollection.Add(myNewPortType)
noOfPortTypes = myServiceDescription.PortTypes.Count
Console.WriteLine( _
ControlChars.Newline & "Total number of PortTypes : " & _
noOfPortTypes.ToString())
myServiceDescription.Write("MathService_New.wsdl")
Catch e As Exception
Console.WriteLine("Exception:" + e.Message.ToString())
End Try
End Sub
Public Shared Function CreateOperation(operationName As String, inputMessage As String, _
outputMessage As String, targetNamespace As String) As Operation
Dim myOperation As New Operation()
myOperation.Name = operationName
Dim input As OperationMessage = CType(New OperationInput(), OperationMessage)
input.Message = New XmlQualifiedName(inputMessage, targetNamespace)
Dim output As OperationMessage = CType(New OperationOutput(), OperationMessage)
output.Message = New XmlQualifiedName(outputMessage, targetNamespace)
myOperation.Messages.Add(input)
myOperation.Messages.Add(output)
Return myOperation
End Function 'CreateOperation
End Class
Применяется к
GitHub сайтында бізбен бірлесіп жұмыс істеу
Бұл мазмұнның көзін GitHub сайтында табуға болады. Онда сонымен бірге мәселелер мен өзгертулерді енгізу сұрауларын жасауға және қарап шығуға болады. Қосымша ақпарат алу үшін қатысушы нұсқаулығын қараңыз.