You've already forked linux-packaging-mono
Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
41
external/referencesource/System.Runtime.Caching/System/Caching/SqlChangeMonitor.cs
vendored
Normal file
41
external/referencesource/System.Runtime.Caching/System/Caching/SqlChangeMonitor.cs
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
// <copyright file="SqlChangeMonitor.cs" company="Microsoft">
|
||||
// Copyright (c) 2009 Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
using System;
|
||||
using System.Data.SqlClient;
|
||||
using System.Globalization;
|
||||
namespace System.Runtime.Caching {
|
||||
public sealed class SqlChangeMonitor : ChangeMonitor {
|
||||
private String _uniqueId;
|
||||
private SqlDependency _sqlDependency;
|
||||
|
||||
public override String UniqueId { get { return _uniqueId; } }
|
||||
|
||||
private SqlChangeMonitor() {} // hide default .ctor
|
||||
|
||||
public SqlChangeMonitor(SqlDependency dependency) {
|
||||
if (dependency == null) {
|
||||
throw new ArgumentNullException("dependency");
|
||||
}
|
||||
bool dispose = true;
|
||||
try {
|
||||
_sqlDependency = dependency;
|
||||
_sqlDependency.OnChange += new OnChangeEventHandler(OnDependencyChanged);
|
||||
_uniqueId = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
|
||||
dispose = false;
|
||||
}
|
||||
finally {
|
||||
InitializationComplete();
|
||||
if (dispose) {
|
||||
Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing) {}
|
||||
|
||||
private void OnDependencyChanged(Object sender, SqlNotificationEventArgs e) {
|
||||
OnChanged(null);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user