如何从多个服务访问共享静态数据

时间:2011-12-14 01:49:59

标签: wcf shared-data

我在IIS 7下构建了wcf服务。

我对共享数据有疑问。

当我尝试从其他服务访问静态数据时,我在运行时收到错误。

服务1

[ServiceContract(Name="ServiceChat", CallbackContract=typeof(IChatCallback))]
public ChatService { 
     static int counter;
     ...
}

服务2

[ServiceContract(Name="ServiceAvatar", CallbackContract=typeof(IAvatarCallback))]
public AvatarService {
     [OperationContract] 
     public int Test {
          return ChatService.counter; // Throw error
     }
     ...
}

1 个答案:

答案 0 :(得分:0)

根据我的观点。 您希望在不同的资源之间共享集中的静态数据。

为什么不装饰你的WCF合同 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]

这将只创建一个会话,并且所有客户端都通过同一会话访问您的服务。

所以它们都得到了相同的来源。

希望这有帮助。