ExternalResourceReference
This class identifies an external resource provided by an IExternalResourceServer.
Inheritance Hierarchy
System.Object
Autodesk.Revit.DB.ExternalResourceReference
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class ExternalResourceReference : IDisposable
The ExternalResourceReference type exposes the following members.
Constructors
Name
Description
Public Method
ExternalResourceReference(ExternalResourceReference)
Creates a new ExternalResourceReference from the given ExternalResourceReference.
Public Method
ExternalResourceReference(Guid, IDictionary.String, String., String, String)
Creates a new ExternalResourceReference from the given data.
Properties
Name
Description
Public Property
InSessionPath
The path stores the full display path which includes the server name plus the path provided by ExternalResourceServer.
The path that Revit will present for user recognizing and browsing to this resource during one session of Revit.
This property allows ExternalResourceServers to handle cases where the path to a resource may vary between Revit sessions. For example, if this ExternalResourceReference refers to a resource in a folder, this property can be used to store the current path of the resource. If the resource is moved to another folder later, the ExternalResourceServer could calculate the correct path for the resource from resource identification information when it is loaded and store it in this property, so that it will work correctly even if the rvt file is opened in a different location.
Do not rely on this path to look up an ExternalResourceReference, as the path is neither unique nor stable. It isn’t unique because multiple servers might use the same server name and display name format. It isn’t stable because some servers allow renaming, and because a server might change its name at some point.
Public Property
IsValidObject
Specifies whether the .NET object represents a valid Revit entity.
Public Property
ServerId
The id of the server that Revit is expecting to provide the external resource.
Public Property
Version
The version of the external data that was most recently loaded in Revit.
Methods
Name
Description
Public Method
Static Member
CreateLocalResource
Creates an ExternalResourceReference representing a local file managed by Revit’s built-in server.
Public Method
Dispose
Releases all resources used by the ExternalResourceReference
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object)
Public Method
GetReferenceInformation
Returns a copy of an object containing previously-stored reference or lookup information about the specific resource provided by the server.
Public Method
GetResourceShortDisplayName
Gets the short display name of the external resource.
Public Method
GetResourceVersionStatus
Checks whether this ExternalResourceReference corresponds to the current version of the resource.
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object)
Public Method
HasValidDisplayPath
Checks whether this external Resource has a valid display path.
Public Method
IsValidReference
Checks whether the reference is in a valid format.
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object)
Remarks
The class contains:
- The id of the IExternalResourceServer from which the resource was obtained.
- A (String, String) map containing information that is meaningful to the server for accessing the desired data. This could be something as simple as “4” to indicate that Revit wants option 4 from a range of several choices, or something more detailed, such as a filename or directory path.
- A String indicating the version of the resource that was most recently loaded in Revit.
- A (String, String) map containing “in session” information that is meaningful to the server, but which does not need to be saved permanently in the document on disk.
When calling an IExternalResourceServer, Revit will provide an ExternalResourceReference to identify the specific resource that Revit is using from that server. The server can then use the relevant information in the (String, String) maps to retrieve the data from the correct source.