Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF存储当前上下文的数据_C#_Multithreading_Entity Framework_Wcf_Azure - Fatal编程技术网

C# WCF存储当前上下文的数据

C# WCF存储当前上下文的数据,c#,multithreading,entity-framework,wcf,azure,C#,Multithreading,Entity Framework,Wcf,Azure,我有一个网站、本地WPF客户端和WCF服务的应用程序,用于与客户端通信。这些应用程序目前为每个客户安装一次。我想将我的WCF服务迁移到azure,从而接受来自不同客户的呼叫。唯一真正改变的是db连接字符串 我的业务逻辑基于EF。EF总是从静态方法获取连接字符串,该方法从配置文件中读取该字符串。(目前) 所以我的问题是:在哪里可以存储当前调用者的db连接字符串?我知道有OperationContext,但我需要一些不太具体的东西,以便库可以用于我拥有的所有类型的应用程序。我曾考虑将调用方存储在T

我有一个网站、本地WPF客户端和WCF服务的应用程序,用于与客户端通信。这些应用程序目前为每个客户安装一次。我想将我的WCF服务迁移到azure,从而接受来自不同客户的呼叫。唯一真正改变的是db连接字符串

我的业务逻辑基于EF。EF总是从静态方法获取连接字符串,该方法从配置文件中读取该字符串。(目前)

所以我的问题是:在哪里可以存储当前调用者的db连接字符串?我知道有OperationContext,但我需要一些不太具体的东西,以便库可以用于我拥有的所有类型的应用程序。我曾考虑将调用方存储在Thread.Principal中,但我不确定这是正确的方法


非常感谢您的建议。

您希望云中的服务针对每个客户端的一些本地数据库吗?不,很抱歉解释不准确。数据库、服务和网站都在云中,客户端是WPF应用程序和通过WCF服务同步的数据库副本……但为什么您必须根据调用方更改连接?目前,基础设施是为每个客户部署的。假设我们有4个客户,即4个数据库、4个网站、4个WCF服务,以及8个WPF客户端(每个客户2个)。目标是仅为所有4个客户使用1个WCF服务。对于该服务,我需要确定哪个客户正在呼叫,这意味着要处理哪个数据库。