WsdlContractConversionContext クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
カスタム WSDL エクスポーターおよびカスタム WSDL インポーターに渡され、コントラクトのメタデータのエクスポートおよびインポートのプロセスをカスタマイズできるようにします。
public ref class WsdlContractConversionContext
public class WsdlContractConversionContext
type WsdlContractConversionContext = class
Public Class WsdlContractConversionContext
- 継承
-
WsdlContractConversionContext
例
WsdlContractConversionContext を使用して、エクスポートされるメタデータに WsdlPortType プロパティおよび Contract プロパティを使用してカスタム WSDL 注釈を追加する方法を次の例に示します。
public void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context)
{
Console.WriteLine("Inside ExportContract");
if (context.Contract != null)
{
// Inside this block it is the contract-level comment attribute.
// This.Text returns the string for the contract attribute.
// Set the doc element; if this isn't done first, there is no XmlElement in the
// DocumentElement property.
context.WsdlPortType.Documentation = string.Empty;
// Contract comments.
XmlDocument owner = context.WsdlPortType.DocumentationElement.OwnerDocument;
XmlElement summaryElement = Formatter.CreateSummaryElement(owner, this.Text);
context.WsdlPortType.DocumentationElement.AppendChild(summaryElement);
foreach (OperationDescription op in context.Contract.Operations)
{
Operation operation = context.GetOperation(op);
object[] opAttrs = op.SyncMethod.GetCustomAttributes(typeof(WsdlDocumentationAttribute), false);
if (opAttrs.Length == 1)
{
string opComment = ((WsdlDocumentationAttribute)opAttrs[0]).Text;
// This.Text returns the string for the operation-level attributes.
// Set the doc element; if this isn't done first, there is no XmlElement in the
// DocumentElement property.
operation.Documentation = String.Empty;
// Operation C# triple comments.
XmlDocument opOwner = operation.DocumentationElement.OwnerDocument;
XmlElement newSummaryElement = Formatter.CreateSummaryElement(opOwner, opComment);
operation.DocumentationElement.AppendChild(newSummaryElement);
// Get returns information
ParameterInfo returnValue = op.SyncMethod.ReturnParameter;
object[] returnAttrs = returnValue.GetCustomAttributes(typeof(WsdlParameterDocumentationAttribute), false);
if (returnAttrs.Length == 1)
{
// <returns>text.</returns>
XmlElement returnsElement =
Formatter.CreateReturnsElement(
opOwner,
((WsdlParameterDocumentationAttribute)returnAttrs[0]).ParamComment
);
operation.DocumentationElement.AppendChild(returnsElement);
}
// Get parameter information.
ParameterInfo[] args = op.SyncMethod.GetParameters();
for (int i = 0; i < args.Length; i++)
{
object[] docAttrs
= args[i].GetCustomAttributes(typeof(WsdlParameterDocumentationAttribute), false);
if (docAttrs.Length != 0)
{
// <param name="Int1">Text.</param>
XmlElement newParamElement = opOwner.CreateElement("param");
XmlAttribute paramName = opOwner.CreateAttribute("name");
paramName.Value = args[i].Name;
newParamElement.InnerText
= ((WsdlParameterDocumentationAttribute)docAttrs[0]).ParamComment;
newParamElement.Attributes.Append(paramName);
operation.DocumentationElement.AppendChild(newParamElement);
}
}
}
}
}
注釈
WsdlContractConversionContext オブジェクトを使用して、WSDL との間で変換する項目を確認および変更します。
メタデータをエクスポートするとき、WsdlContractConversionContext オブジェクトは、ExportContract メソッドおよび ExportEndpoint メソッドに渡されます。 さまざまなメソッドやプロパティを使用して、公開される WSDL を確認および変更するために使用できるメタデータ オブジェクトを取得します。
メタデータをインポートするとき、WsdlContractConversionContext オブジェクトは、ImportContract メソッドおよび ImportEndpoint メソッドに渡されます。 さまざまなメソッドやプロパティを使用して、インポートされるメタデータを確認および変更するために使用できるメタデータ オブジェクトを取得します。
プロパティ
Contract |
エクスポートまたはインポートされる ContractDescription を取得します。 |
WsdlPortType |
コントラクトを表す PortType を取得します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetFaultDescription(OperationFault) |
指定したエラーに対するエラーの説明を返します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetMessageDescription(OperationMessage) |
指定されたメッセージに対するメッセージの説明を返します。 |
GetOperation(OperationDescription) |
指定した操作の説明に対する操作を返します。 |
GetOperationDescription(Operation) |
操作に関連付けられた操作の説明を返します。 |
GetOperationFault(FaultDescription) |
要求された OperationFault の FaultDescription を返します。 |
GetOperationMessage(MessageDescription) |
XML Web サービスのアクションによって渡されるメッセージの種類を表す、指定した OperationMessage の |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET