RVTDocs.com
Namespace: Autodesk.Revit.DB

ExternalResourceReference

Class
Description:
This class identifies an external resource provided by an IExternalResourceServer.
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.

Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.ExternalResourceReference
Syntax
ExternalResourceReference Class Members:
Name Description Inherited From
ExternalResourceReference(ExternalResourceReference) Creates a new ExternalResourceReference from the given ExternalResourceReference.
ExternalResourceReference(Guid, IDictionary<String, String>, String, String) Creates a new ExternalResourceReference from the given data.
Name Description Inherited From
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.
IsValidObject Specifies whether the .NET object represents a valid Revit entity.
ServerId The id of the server that Revit is expecting to provide the external resource.
Version The version of the external data that was most recently loaded in Revit.
Name Description Inherited From
CreateLocalResource Creates an ExternalResourceReference representing a local file managed by Revit's built-in server.
Dispose Releases all resources used by the ExternalResourceReference
Equals Determines whether the specified object is equal to the current object. (Inherited from Object ) Object
GetHashCode Serves as the default hash function. (Inherited from Object ) Object
GetReferenceInformation Returns a copy of an object containing previously-stored reference or lookup information about the specific resource provided by the server.
GetResourceShortDisplayName Gets the short display name of the external resource.
GetResourceVersionStatus Checks whether this ExternalResourceReference corresponds to the current version of the resource.
GetType Gets the Type of the current instance. (Inherited from Object ) Object
HasValidDisplayPath Checks whether this external Resource has a valid display path.
IsValidReference Checks whether the reference is in a valid format.
ToString Returns a string that represents the current object. (Inherited from Object ) Object