最初に認識されるコンポーネントは、web サービス API の契約およびクライアント プロキシ クラスが含まれる DLL です。クライアント アプリケーションでこの DLL を使用することは任意です。独自のプロキシとサービスの作成に役立つユーティリティを提供します。または、クライアント プロキシを生成することができる .NET アプリケーションにサービス リファレンスを追加することにより、Intent のサービスを使用することができます。
これは、.NET クライアントが web サービスにアクセスするために使用できる、あらかじめ用意されているクライアント プロキシ クラスです。これには、サービス リファレンスおよび Uri 引数をとるもう 1 つの追加のコンストラクタによって生成されたクライアント プロキシによって提供されるコンストラクタと同じ方法で動作する複数のコンストラクタがあります。
<configuration>
<system.serviceModel>
<bindings>
<netNamedPipeBinding>
<binding name="NetNamedPipeBinding_IIntentServices" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:05:00"
transactionFlow="false" transferMode="Buffered"
hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="67108864"
maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="67108864">
<readerQuotas maxDepth="32"
maxStringContentLength="33554432"
maxArrayLength="67108864"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<security mode="Transport">
<transport protectionLevel="EncryptAndSign" />
</security>
</binding>
</netNamedPipeBinding>
</bindings>
<client>
<endpoint address="net.pipe://localhost/Autodesk/Intent/Services"
binding="netNamedPipeBinding"
bindingConfiguration="NetNamedPipeBinding_IIntentServices"
contract="Autodesk.Intent.Services.IIntentServices"
name="NetNamedPipeBinding_IIntentServices">
</endpoint>
</client>
</system.serviceModel>
</configuration>
追加のコンストラクタは、WCF 端点をホストする IIntentServices を指す URI を取ります。クライアント アプリケーションがリモート API にアクセスするために、Intent セッション マネージャ サービスの URI でインスタンス化する必要があります(下記参照)。
このインタフェースは、web サービスでどの操作を使用可能にするかを定義します。API は、いくつかの例外を除いて、標準の Intent API と同様です。
API には、サポートのタイプごとに、Get と Set があります。それぞれ弱く型付けされているバージョンがあり(つまり GetValue と SetValue です)、.NET オブジェクトとして値を入れます。
内部 Intent タイプごとに、強く型付けされているバージョンもあります。
弱く型付けされているバージョンは、任意のバイナリ ストリーム(たとえば、byte[]、Stream、MemoryStream)をサポートするために、すべての内部 Intent タイプとオブジェクトをサポートしています。
また、式によってルールの設定を有効にする操作があります。
この抽象基本クラスは、IIntentServices を実装する別のクラスのラッパーとして機能します。web アプリケーションを通して公開できる SOAP ベースの Web サービスの実装を簡単に作成するために使用することができます。IntentServicesClient オブジェクトをラップするのに使用します。