/// <summary> /// Create a script access reference. /// </summary> /// <param name="accesstoken">Script access token referenced.</param> /// <param name="engineid">Script engine identifier.</param> internal ScriptAccessRef(ScriptAccessToken accesstoken, int engineid) { accesstoken_ = accesstoken; EngineId = engineid; // add this script access reference to the script access token's list accesstoken_.AddAccessRef(this); }
/// <summary> /// Get an access reference for a script engine. /// </summary> /// <param name="engineid">Script engine identifier.</param> /// <param name="lockname">Lock name.</param> /// <returns>A script access reference.</returns> public static ScriptAccessRef GetScriptAccessRef(int engineid, string lockname) { ScriptAccessToken accesstoken = null; if (!accesstokens_.TryGetValue(lockname, out accesstoken)) { accesstoken = new ScriptAccessToken(lockname); accesstokens_.Add(lockname, accesstoken); } return new ScriptAccessRef(accesstoken, engineid); }