【发布时间】:2011-04-11 16:08:13
【问题描述】:
--ConsoleApplication 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
public class MsgService
{
private static CreateConnectionToA _instanceA;
private static CreateConnectionToB _instanceB;
protected MsgService()
{
}
public static MsgService GetInstanceA(string paramA, string paramB)
{
if (_instanceA != null)
{
return _instanceA;
}
return _instanceA = new CreateConnectionToA("p1","p2");
}
public static MsgService GetInstanceB(string paramA, string paramB)
{
if (_instanceB != null)
{
return _instanceB;
}
return _instanceB = new CreateConnectionToB("p1", "p2");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class CreateConnectionToB : MsgService
{
public CreateConnectionToB(string param1, string Param2)
{
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class CreateConnectionToA : MsgService
{
public CreateConnectionToA(string param1, string Param2)
{
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
MsgService.GetInstanceA("p1", "p2");
Console.Read();
}
}
}
--ConsoleApplication 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Press");
Console.Read();
ConsoleApplication2.MsgService.GetInstanceA("p1", "p2");
Console.Read();
}
}
}
我正在尝试进行 simgleton 实现,但我的方法有问题。它总是从每个控制台应用程序创建 _instanceA 和 _instanceB 的新实例。
有人可以指出这里需要做什么吗?
【问题讨论】:
标签: c# .net singleton interprocess