SingleServerService.SetActiveServer(Guid, Document)
Change the active server for a specific document.
Namespace: Autodesk.Revit.DB.ExternalService
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public void SetActiveServer( Guid serverId, Document document)
Parameters
serverIdGuid
Id of the server.
document Document
The document for which the server is being set as active.
Exceptions
Exception
Condition
ArgumentException
The given Id is not of a server registered with the service.
ArgumentNullException
A non-optional argument was null
InvalidOperationException
The operation is not allowed because the service is being executed. -or- For a service that doesn’t support activation, the servers can’t be activated/deactivated.
Remarks
Only one server per document can be set as active at any given time in a single-server service. A document does not have to have an explicitly set active server though - the application-wide active server would be normally used when the service is executed for such a document.
Having an active server for a document overrules the active server set for the application. That means if the service gets executed in this particular document, the document-specific server will be used instead of the application-wide one.
For a service which has cref=“Autodesk::Revit::DB::ExternalService::SupportActivation” set to true it is possible to set a server as active when another server is already active for that service in this document. Making a server active will automatically deactivate the server that was active before this call.
For a service which has cref=“Autodesk::Revit::DB::ExternalService::SupportActivation” set to false calling this method will throw exception. For this kind of service only one server can be added, and it will be marked by default as an application-wide active server.