Die erste zu beachtende Komponente ist die DLL, die den Web Services-API-Vertrag und die Client-Proxy-Klasse enthält. Die Verwendung dieser DLL in Ihrer Client-Anwendung ist optional. Sie stellt einige nützliche Werkzeuge für das Erstellen eigener Proxys und Services bereit. Alternativ können Sie die Intent Services verwenden, indem Sie eine Servicereferenz auf Ihre .NET-Anwendung hinzufügen, wodurch ein Client-Proxy für Sie generiert werden kann.
Dies ist eine vorgefertigte Client-Proxy-Klasse, die von .NET-Clients verwendet werden kann, um auf die Web Services zuzugreifen. Sie verfügt über mehrere Konstruktoren, die auf die gleiche Weise funktionieren wie die Konstruktoren, die von einem Client-Proxy bereitgestellt werden, der durch eine Servicereferenz und dadurch, dass ein zusätzlicher Konstruktor ein URI-Argument annimmt, generiert wird.
<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>
Der zusätzliche Konstruktor nimmt einen URI an, der auf den WCF-Endpunkt zeigt, der die IIntentServices hostet. Er sollte mit dem URI des Intent-Sitzungsmanager-Diensts (siehe unten) instanziiert werden, damit die Client-Anwendung auf die Remote-API zugreifen kann.
Diese Schnittstelle definiert, welche Operationen in den Web Services verfügbar sind. Die API entspricht von einigen Ausnahmen abgesehen der Intent-Standard-API.
Die API verfügt über eine Get- und Set-Methode für jeden der unterstützten Typen. Für jede Methode gibt es eine schwach typisierte Version ( GetValue , SetValue ), die den Wert mittels Boxing in ein .NET-Objekt konvertiert.
Es gibt auch eine stark typisierte Version für jeden der internen Intent-Typen.
Die schwach typisierte Version unterstützt alle internen Intent-Typen sowie Objekte zur Unterstützung beliebiger binärer Datenströme (z. B. byte[], Stream, MemoryStream).
Darüber hinaus gibt es eine Operation, die die Einrichtung einer Regel durch eine Formel ermöglicht.
Diese abstrakte Basisklasse fungiert als Wrapper für eine andere Klasse, die IIntentServices implementiert. Sie können mit ihr eine SOAP-basierte Webdienst-Implementierung erstellen, die Sie über Ihre Webanwendung anzeigen können. Verwenden Sie sie als Wrapper für ein IntentServicesClient-Objekt.