2011-06-21 113 views
3

我正在为ASP.Net会话状态使用SQL Server。但是,我只能在运行时检索连接字符串,因此无法将其存储在web.config文件中。通常它会在:SQL会话状态服务器动态连接字符串

<sessionState 
      mode="SQLServer" 
      sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>" 
      cookieless="false" 
      timeout="20" 
    /> 

如何在运行时设置连接字符串? (即在网络应用程序启动后)。

回答

1

你看过吗事件Global.asax?这似乎是设置类似的逻辑地点。

MSDN's documentation

请求在ASP.NET应用程序 所述第一资源(例如 作为页面)时调用。 Application_Start 方法仅在应用程序的生命周期的 期间被调用一次。您可以使用此方法执行启动 任务,例如将数据加载到缓存中并初始化静态值。

您应该在 应用程序启动期间仅设置静态数据。不要设置任何 实例数据,因为它将是 仅对于创建的 HttpApplication类的第一个实例 可用。

+0

谢谢安倍 - 我知道在哪里设置它我只是不知道要设置什么。我同意Application_Start可能是设置它的最佳位置,只需知道要覆盖的内容即可。 – Guy

1

我认为你可以在System.Web.SessionState以内的某处设置该字符串,希望这会帮助你找到正确的位置。对不起,我不能给出更好的答案,我仍然试图自己弄清楚。如果我这样做,我会让你知道的。 GL