静态数据集在IIS上共享

时间:2013-09-03 16:33:35

标签: asp.net

我在asp.net应用程序中有一个静态DataSet,我从外部数据源提取数据,为客户端输入(比如从文本框中提取),在数据集中创建一个具有相同输入名称的表,然后保存它在我的数据集中。

我已在iis上托管我的应用程序,其中我的应用程序池标识正在我的凭据上运行。

从机器A访问应用程序时

:我在文本框中输入了一个输入“Hello world”(对于此输入,它将获取数据创建一个具有相同输入名称的表。)< / p>

从机器b访问应用程序时:如果我尝试提供相同的输入,则会给出一个错误,指出名为“Hello world”的表已经退出。

点: 1)两台机器都在运行我的凭据。

我的问题

我只是想知道这个数据集是否在不同机器上打开的Web应用程序的所有实例之间共享?这是预期的还是我假设错了?

或者这只是因为应用程序池在我的身份上运行?

可以让一些人了解这类问题,如何处理它。

1 个答案:

答案 0 :(得分:0)

问题在于你所说的静态数据集,用外行术语

  

“公共静态成员在应用程序运行之前可用   无论访问多少用户,都可以访问整个应用程序   对象“

因此,如果您不想向所有用户共享单个对象,请遵循3步规则,创建实例,使用并处置它。请参阅下面的示例

public DatatSet ds = new DatatSet();  // Create a new instance of the any class , here i am using Dataset

ds.Tables.Count();  // Your actual operation. Here your logic will go

ds=null; or ds.Dispose() // dispose or flag it for garbage collection