SharedPropertyGroupManager Class
.NET Framework 3.0
Controls access to shared property groups. This class cannot be inherited.
Namespace: System.EnterpriseServices
Assembly: System.EnterpriseServices (in system.enterpriseservices.dll)
Assembly: System.EnterpriseServices (in system.enterpriseservices.dll)
The following sample shows how to use SharedPropertyGroupManager to create and mange shared properties.
using System; using System.EnterpriseServices; using System.Reflection; [assembly: ApplicationName("ReceiptNumberGenerator")] [assembly: ApplicationActivation(ActivationOption.Library)] public class ReceiptNumberGeneratorClass { // Generates a new receipt number based on the receipt number // stored by the Shared Property Manager (SPM) public int GetNextReceiptNumber() { bool groupExists,propertyExists; int nextReceiptNumber = 0; PropertyLockMode lockMode = PropertyLockMode.SetGet; PropertyReleaseMode releaseMode = PropertyReleaseMode.Standard; // Create a shared property group manager. SharedPropertyGroupManager groupManager = new SharedPropertyGroupManager(); // Create a shared property group. SharedPropertyGroup group = groupManager.CreatePropertyGroup("Receipts", ref lockMode, ref releaseMode, out groupExists); // Create a shared property. SharedProperty ReceiptNumber; ReceiptNumber = group.CreateProperty("ReceiptNumber",out propertyExists); // Retrieve the value from shared property, and increment the shared // property value. nextReceiptNumber = (int) ReceiptNumber.Value; ReceiptNumber.Value = nextReceiptNumber + 1; // Return nextReceiptNumber return nextReceiptNumber; } }
import System.*;
import System.EnterpriseServices.*;
import System.Reflection.*;
/** @assembly AssemblyKeyFile("key.snk")
*/
/** @assembly ApplicationName("ReceiptNumberGenerator")
*/
/** @assembly ApplicationActivation(ActivationOption.Library)
*/
public class ReceiptNumberGeneratorClass
{
// Generates a new receipt number based on the receipt number
// stored by the Shared Property Manager (SPM)
public int GetNextReceiptNumber()
{
boolean groupExists = false;
boolean propertyExists = false;
int nextReceiptNumber = 0;
PropertyLockMode lockMode = PropertyLockMode.SetGet;
PropertyReleaseMode releaseMode = PropertyReleaseMode.Standard;
// Create a shared property group manager.
SharedPropertyGroupManager groupManager =
new SharedPropertyGroupManager();
// Create a shared property group.
SharedPropertyGroup group = groupManager.CreatePropertyGroup("Receipts",
lockMode, releaseMode, groupExists);
// Create a shared property.
SharedProperty receiptNumber;
receiptNumber = group.CreateProperty("receiptNumber", propertyExists);
// Retrieve the value from shared property, and increment the shared
// property value.
nextReceiptNumber = System.Convert.ToInt32(receiptNumber.get_Value());
receiptNumber.set_Value((Int32)(nextReceiptNumber + 1));
// Return nextReceiptNumber
return nextReceiptNumber;
} //GetNextReceiptNumber
} //ReceiptNumberGeneratorClass
Community Additions
ADD
Show: