SingleServerServiceSetActiveServer(Guid, Document) Method

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

serverId  Guid
Id of the server.
document  Document
The document for which the server is being set as active.
Exceptions
ExceptionCondition
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.

See Also