【发布时间】:2019-11-27 00:50:29
【问题描述】:
我需要将管理员在应用程序启动时在文本框控件中输入的值传递给 global.asax 文件,然后我可以将其转换为应用程序对象。我希望这个应用程序对象能够为所有用户和他们的会话持续存在,但仅限于特定的数据库连接字符串。 Application 对象是否是此目的的正确选择,如果是,如何合并它?
这是我尝试过的:
global.asax:
public class Global : System.Web.HttpApplication
{
SqlConnection con=new SqlConnection(ConfigurationManager.ConnectionStrings["Con"].ConnectionString);
protected void Application_Start(object sender, EventArgs e)
{
string folderName = SetPaths.Tbrootpath.Text.ToString();
string pathString = System.IO.Path.Combine(folderName, "ScannedData");
Application["scannedDataPath"] = pathString;
}
我在需要的地方称之为:
string pathstring = HttpContext.Current.Application["ScannedDataPath"].ToString();
我得到 SetPaths.Tbrootpath is inaccessible ..
【问题讨论】:
-
不知道你应该怎么做,但是如果你需要输入一些东西,应用程序必须已经启动,所以你不能在它启动的时候做。
-
好的,这意味着我应该把它放在会话启动方法中吗?但我试图将管理员定义的路径作为应用程序对象,它会一直持续到应用程序关闭。所以我应该什么时候分配它?
标签: asp.net webforms global-asax