gpt4 book ai didi

c# - 在 C# 中设置属性后使用类

转载 作者:太空宇宙 更新时间:2023-11-03 21:51:00 24 4
gpt4 key购买 nike

我有一个小类,里面只有几个属性。

这是一个例子:

public class clsRepLogs

public string those;
public string these;

public void setThoseandThese
{
//call a stored procedure
//get results

this.those = something;
this.these = somethingElse;
}}

来 self 的第一个.aspx.cs

我调用设置函数:

clsRepLogs cLog - new clsRepLogs()
cLog.setThoseandThese()

所以现在属性已经被赋值了。

我现在想在另一个 aspx.cs 文件中使用它们来填充表单...但不知道如何找到它们...

我试过了

clsRepLogs cLog;

lblThese.text = cLog.these;

但它给我一个错误:“使用未分配的局部变量‘cLog’

基本上,我如何告诉它使用我之前已经分配给该类实例的值?

我希望我的解释是正确的,但我可能会偏离我正在做的事情。任何帮助表示赞赏。

最佳答案

听起来您想从多个 ASPX 页面访问该类的同一个实例。有多种方法可以做到这一点;每个用户的解决方案是使用 session 状态。

// page 1
var c = new clsRepLogs();
c.setThoseAndThese();
Session["mykey"] = c;

// page 2
var c = (clsRepLogs)Session["mykey"];

"mykey"可以是任何字符串。您可能还想在访问之前检查 Session 是否包含该值,例如if( Session["mykey"] != null ){ ... }

请记住:

  • session 不持久;重新启动网络工作进程将重置所有进程中的 session 。
  • 在 Session 中存储许多大对象通常不是一个好主意。
  • 如果数据是 secret 的,请注意 Session fixation attacks .
  • session 可以在服务器之间进行负载平衡,因此该解决方案可以扩展。

供引用(替代方法):

  • 当您不关心每个用户的隔离并希望控制数据过期时,您可以使用 Cache 对象。
  • 您可以使用Application 对象;类似于 Cache 但无法控制过期时间。
  • 您可以将对象存储在数据库中并在每个页面上加载它。当您不想进行繁重的 session 和/或希望更永久地保存数据(例如在多个 session 中持续存在的购物车)时,这很有用。

关于c# - 在 C# 中设置属性后使用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com