我创建一个自定义的.NET架构的硬件将被其他程序员用来控制一些硬件。 他们将一个引用添加到我们的DLL去我们的硬件架构。 我需要将来自多个应用程序(进程)访问的共享类的。
Singleton模式似乎是我所需要的,但它仅适用于您的进程内的多个线程。 我可能是完全错误的,但这里是C#代码我现在有一个例子。 我不禁感到,设计是不正确。 我希望我能分享更多的具体信息,但我不能。
- 我必须强调,我将在客户应用的控制。 该解决方案必须包含在框架(DLL)本身内。
框架:(共享DLL)
public class Resources
{
static readonly Resources m_instance = new Resources();
public string Data;
private Resources()
{
Data = DateTime.Now.ToString();
}
public static Resources Instance
{
get
{
return m_instance;
}
}
}
测试应用程序:(最终客户应用程序)
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Press enter to capture the resource!");
Console.ReadLine();
var resources = Resources.Instance;
Console.WriteLine("\r\n{0}: {1}\r\n", Thread.CurrentThread.ManagedThreadId, resources.Data);
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += WorkerDoWork;
worker.RunWorkerAsync();
while (worker.IsBusy)
{
Thread.Sleep(100);
}
Console.WriteLine("Press enter to close the process!");
Console.ReadLine();
}
static void WorkerDoWork(object sender, DoWorkEventArgs e)
{
var resources = Resources.Instance;
Console.WriteLine("\r\n{0}: {1}\r\n", Thread.CurrentThread.ManagedThreadId, resources.Data);
}
}
第一个启动的应用程序给出的输出:
按回车键夺取资源!
1:2009/6/24上午08时27分34秒
3:2009/6/24上午08时27分34秒
按回车键关闭该进程!
所述第二应用程序提供的输出:
按回车键夺取资源!
9:2009/6/24上午08点27分35秒
10:2009/6/24上午8点27分35秒
按回车键关闭该进程!
结论 :
我想看看这两个应用程序返回的类的实例第一次的时间相同的字符串。
正如你所看到的进程中多线程的单身作品但是不交处理。 也许这不能做,因为我似乎无法找到任何解决方案。