OperationFaultCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 OperationFault 类的实例的集合。 此类不能被继承。
public ref class OperationFaultCollection sealed : System::Web::Services::Description::ServiceDescriptionBaseCollection
public sealed class OperationFaultCollection : System.Web.Services.Description.ServiceDescriptionBaseCollection
type OperationFaultCollection = class
inherit ServiceDescriptionBaseCollection
Public NotInheritable Class OperationFaultCollection
Inherits ServiceDescriptionBaseCollection
- 继承
示例
#using <System.dll>
#using <System.Web.Services.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Web::Services::Description;
int main()
{
try
{
// Read the StockQuote.wsdl file as input.
ServiceDescription^ myServiceDescription = ServiceDescription::Read( "StockQuote_cpp.wsdl" );
PortTypeCollection^ myPortTypeCollection = myServiceDescription->PortTypes;
PortType^ myPortType = myPortTypeCollection[ 0 ];
OperationCollection^ myOperationCollection = myPortType->Operations;
Operation^ myOperation = myOperationCollection[ 0 ];
OperationFaultCollection^ myOperationFaultCollection = myOperation->Faults;
// Reverse the operation fault order.
if ( myOperationFaultCollection->Count > 1 )
{
OperationFault^ myOperationFault = myOperationFaultCollection[ 0 ];
array<OperationFault^>^myOperationFaultArray = gcnew array<OperationFault^>(myOperationFaultCollection->Count);
// Copy the operation fault to a temporary array.
myOperationFaultCollection->CopyTo( myOperationFaultArray, 0 );
// Remove all the operation faults from the collection.
for ( int i = 0; i < myOperationFaultArray->Length; i++ )
myOperationFaultCollection->Remove( myOperationFaultArray[ i ] );
// Insert the operation faults in the reverse order.
for ( int i = 0,j = (myOperationFaultArray->Length - 1); i < myOperationFaultArray->Length; i++,j-- )
myOperationFaultCollection->Insert( i, myOperationFaultArray[ j ] );
if ( myOperationFaultCollection->Contains( myOperationFault ) && (myOperationFaultCollection->IndexOf( myOperationFault ) == myOperationFaultCollection->Count - 1) )
Console::WriteLine( "Succeeded in reversing the operation faults." );
else
Console::WriteLine( "Error while reversing the faults." );
}
BindingCollection^ myBindingCollection = myServiceDescription->Bindings;
Binding^ myBinding = myBindingCollection[ 0 ];
OperationBindingCollection^ myOperationBindingCollection = myBinding->Operations;
OperationBinding^ myOperationBinding = myOperationBindingCollection[ 0 ];
FaultBindingCollection^ myFaultBindingCollection = myOperationBinding->Faults;
// Reverse the fault binding order.
if ( myFaultBindingCollection->Count > 1 )
{
FaultBinding^ myFaultBinding = myFaultBindingCollection[ 0 ];
array<FaultBinding^>^myFaultBindingArray = gcnew array<FaultBinding^>(myFaultBindingCollection->Count);
// Copy the fault bindings to a temporary array.
myFaultBindingCollection->CopyTo( myFaultBindingArray, 0 );
// Remove all the fault bindings.
for ( int i = 0; i < myFaultBindingArray->Length; i++ )
myFaultBindingCollection->Remove( myFaultBindingArray[ i ] );
// Insert the fault bindings in the reverse order.
for ( int i = 0,j = (myFaultBindingArray->Length - 1); i < myFaultBindingArray->Length; i++,j-- )
myFaultBindingCollection->Insert( i, myFaultBindingArray[ j ] );
// Check whether the first element before the reversal
// is now the last element.
if ( myFaultBindingCollection->Contains( myFaultBinding ) && myFaultBindingCollection->IndexOf( myFaultBinding ) == (myFaultBindingCollection->Count - 1) )
{
// Write the WSDL generated to a file.
myServiceDescription->Write( "StockQuoteOut_cpp.wsdl" );
Console::WriteLine( "The file StockQuoteOut_cpp.wsdl was successfully written" );
}
else
Console::WriteLine( "An error occurred while reversing the input WSDL file." );
}
}
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;
public class MyOperationFaultCollectionSample
{
public static void Main()
{
try
{
// Read the StockQuote.wsdl file as input.
ServiceDescription myServiceDescription =
ServiceDescription.Read("StockQuote_cs.wsdl");
PortTypeCollection myPortTypeCollection =
myServiceDescription.PortTypes;
PortType myPortType = myPortTypeCollection[0];
OperationCollection myOperationCollection = myPortType.Operations;
Operation myOperation = myOperationCollection[0];
OperationFaultCollection myOperationFaultCollection =
myOperation.Faults;
// Reverse the operation fault order.
if(myOperationFaultCollection.Count > 1)
{
OperationFault myOperationFault = myOperationFaultCollection[0];
OperationFault[] myOperationFaultArray =
new OperationFault[myOperationFaultCollection.Count];
// Copy the operation faults to a temporary array.
myOperationFaultCollection.CopyTo(myOperationFaultArray, 0);
// Remove all the operation faults from the collection.
for(int i = 0; i < myOperationFaultArray.Length; i++)
{
myOperationFaultCollection.Remove(myOperationFaultArray[i]);
}
// Insert the operation faults in the reverse order.
for(int i = 0, j = (myOperationFaultArray.Length - 1);
i < myOperationFaultArray.Length; i++, j--)
{
myOperationFaultCollection.Insert(
i, myOperationFaultArray[j]);
}
if ( myOperationFaultCollection.Contains(myOperationFault) &&
(myOperationFaultCollection.IndexOf(myOperationFault)
== myOperationFaultCollection.Count-1))
{
Console.WriteLine(
"Succeeded in reversing the operation faults.");
}
else
{
Console.WriteLine("Error while reversing the faults.");
}
}
BindingCollection myBindingCollection =
myServiceDescription.Bindings;
Binding myBinding = myBindingCollection[0];
OperationBindingCollection myOperationBindingCollection =
myBinding.Operations;
OperationBinding myOperationBinding =
myOperationBindingCollection[0];
FaultBindingCollection myFaultBindingCollection =
myOperationBinding.Faults;
// Reverse the fault binding order.
if(myFaultBindingCollection.Count > 1)
{
FaultBinding myFaultBinding = myFaultBindingCollection[0];
FaultBinding[] myFaultBindingArray =
new FaultBinding[myFaultBindingCollection.Count];
// Copy the fault bindings to a temporary array.
myFaultBindingCollection.CopyTo(myFaultBindingArray, 0);
// Remove all the fault bindings.
for(int i = 0; i < myFaultBindingArray.Length; i++)
{
myFaultBindingCollection.Remove(myFaultBindingArray[i]);
}
// Insert the fault bindings in the reverse order.
for(int i = 0, j = (myFaultBindingArray.Length - 1);
i < myFaultBindingArray.Length; i++, j--)
{
myFaultBindingCollection.Insert(i, myFaultBindingArray[j]);
}
// Check whether the first element before the reversal
// is now the last element.
if(myFaultBindingCollection.Contains(myFaultBinding) &&
myFaultBindingCollection.IndexOf(myFaultBinding) ==
(myFaultBindingCollection.Count - 1))
{
// Write the WSDL generated to a file.
myServiceDescription.Write("StockQuoteOut_cs.wsdl");
Console.WriteLine(
"The file StockQuoteOut_cs.wsdl was successfully written.");
}
else
{
Console.WriteLine(
"An error occurred while reversing the input WSDL file.");
}
}
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
}
Imports System.Web.Services.Description
Public Class MyOperationFaultCollectionSample
Public Shared Sub Main()
Try
' Read the StockQuote.wsdl file as input.
Dim myServiceDescription As ServiceDescription = _
ServiceDescription.Read("StockQuote_vb.wsdl")
Dim myPortTypeCollection As PortTypeCollection = _
myServiceDescription.PortTypes
Dim myPortType As PortType = myPortTypeCollection(0)
Dim myOperationCollection As OperationCollection = _
myPortType.Operations
Dim myOperation As Operation = myOperationCollection(0)
Dim myOperationFaultCollection As OperationFaultCollection = _
myOperation.Faults
' Reverse the operation fault order.
If myOperationFaultCollection.Count > 1 Then
Dim myOperationFault As OperationFault = _
myOperationFaultCollection(0)
Dim myOperationFaultArray(myOperationFaultCollection.Count -1 ) _
As OperationFault
' Copy the operation faults to a temporary array.
myOperationFaultCollection.CopyTo(myOperationFaultArray, 0)
' Remove all the operation faults from the collection.
Dim i As Integer
For i = 0 To myOperationFaultArray.Length - 1
myOperationFaultCollection.Remove(myOperationFaultArray(i))
Next i
' Insert the operation faults in the reverse order.
Dim j As Integer = myOperationFaultArray.Length - 1
i = 0
While i < myOperationFaultArray.Length
myOperationFaultCollection.Insert(i, myOperationFaultArray(j))
i += 1
j -= 1
End While
If myOperationFaultCollection.Contains(myOperationFault) And _
myOperationFaultCollection.IndexOf(myOperationFault) = _
myOperationFaultCollection.Count - 1 Then
Console.WriteLine("Succeeded in reversing the operation faults.")
Else
Console.WriteLine("Error while reversing the faults.")
End If
End If
Dim myBindingCollection As BindingCollection = _
myServiceDescription.Bindings
Dim myBinding As Binding = myBindingCollection(0)
Dim myOperationBindingCollection As OperationBindingCollection = _
myBinding.Operations
Dim myOperationBinding As OperationBinding = _
myOperationBindingCollection(0)
Dim myFaultBindingCollection As FaultBindingCollection = _
myOperationBinding.Faults
' Reverse the fault binding order.
If myFaultBindingCollection.Count > 1 Then
Dim myFaultBinding As FaultBinding = myFaultBindingCollection(0)
Dim myFaultBindingArray(myFaultBindingCollection.Count -1 ) _
As FaultBinding
' Copy the fault bindings to a temporary array.
myFaultBindingCollection.CopyTo(myFaultBindingArray, 0)
' Remove all the fault bindings.
Dim i As Integer
For i = 0 To myFaultBindingArray.Length - 1
myFaultBindingCollection.Remove(myFaultBindingArray(i))
Next i
Dim j As Integer = myFaultBindingArray.Length - 1
i = 0
' Insert the fault bindings in the reverse order.
While i < myFaultBindingArray.Length
myFaultBindingCollection.Insert(i, myFaultBindingArray(j))
i += 1
j -= 1
End While
' Check whether the first element before the reversal
' is now the last element.
If myFaultBindingCollection.Contains(myFaultBinding) And _
myFaultBindingCollection.IndexOf(myFaultBinding) = _
myFaultBindingCollection.Count - 1 Then
' Write the WSDL generated to a file.
myServiceDescription.Write("StockQuoteOut_vb.wsdl")
Console.WriteLine( _
"The file StockQuoteOut_vb.wsdl was successfully written.")
Else
Console.WriteLine( _
"An Error occurred while reversing the input WSDL file.")
End If
End If
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine("Source : " & e.Source.ToString())
Console.WriteLine("Message : " & e.Message.ToString())
End Try
End Sub
End Class
注解
该OperationFault类对应于 Web 服务说明语言 (WSDL) <fault>
元素括起来的元素,该元素又被<portType>
元素括<operation>
起来。 有关 WSDL 的更多信息,请参阅 WSDL 规范。
属性
Capacity |
获取或设置 CollectionBase 可包含的元素数。 (继承自 CollectionBase) |
Count |
获取 CollectionBase 实例中包含的元素数。 不能重写此属性。 (继承自 CollectionBase) |
InnerList |
获取一个 ArrayList,它包含 CollectionBase 实例中元素的列表。 (继承自 CollectionBase) |
Item[Int32] |
获取或设置位于指定的从零开始的索引处的 OperationFault 的值。 |
Item[String] |
通过名称获取 OperationFault。 |
List |
获取一个 IList,它包含 CollectionBase 实例中元素的列表。 (继承自 CollectionBase) |
Table |
获取实现 ServiceDescriptionBaseCollection 中键和值的关联的接口。 (继承自 ServiceDescriptionBaseCollection) |
方法
显式接口实现
ICollection.CopyTo(Array, Int32) |
从目标数组的指定索引处开始将整个 CollectionBase 复制到兼容的一维 Array。 (继承自 CollectionBase) |
ICollection.IsSynchronized |
获取一个值,该值指示是否同步对 CollectionBase 的访问(线程安全)。 (继承自 CollectionBase) |
ICollection.SyncRoot |
获取可用于同步对 CollectionBase 的访问的对象。 (继承自 CollectionBase) |
IList.Add(Object) |
将对象添加到 CollectionBase 的结尾处。 (继承自 CollectionBase) |
IList.Contains(Object) |
确定 CollectionBase 是否包含特定元素。 (继承自 CollectionBase) |
IList.IndexOf(Object) |
搜索指定的 Object,并返回整个 CollectionBase 中第一个匹配项的从零开始的索引。 (继承自 CollectionBase) |
IList.Insert(Int32, Object) |
将元素插入 CollectionBase 的指定索引处。 (继承自 CollectionBase) |
IList.IsFixedSize |
获取一个值,该值指示 CollectionBase 是否具有固定大小。 (继承自 CollectionBase) |
IList.IsReadOnly |
获取一个值,该值指示 CollectionBase 是否为只读。 (继承自 CollectionBase) |
IList.Item[Int32] |
获取或设置指定索引处的元素。 (继承自 CollectionBase) |
IList.Remove(Object) |
从 CollectionBase 中移除特定对象的第一个匹配项。 (继承自 CollectionBase) |
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |