如何使用Ajax在.aspx.cs页面内的.asp页面中获取变量值

时间:2010-11-10 09:37:07

标签: c# asp.net ajax

我有一种情况,我在一个asp页面中使用一个功能生成我的连接字符串。这个功能我可能需要在.net中从头开始完全做冗余。为了避免这种情况,我想得到连接字符串从.asp页面到.net页面的变量,即aspx.cs.是否有可能做到这一点。我可以通过google获得的几个选项是Server.Execute并通过.NET将Web请求发送到.asp页面并获取这些值。如果实际可能,我想知道与此方法相关的延迟。 / p>

有一个文件getconnstring.asp ...经典的asp文件 在这个文件中,我正在构建连接字符串,如

strACHConnection="Provider=MSDAORA.1;Password=..."

我想在asp.net网站中使用这个变量值,就像在getconnstring.aspx.cs.中那样可以使用Ajax请求。

2 个答案:

答案 0 :(得分:2)

可以通过从您的asp.net应用程序向.asp应用程序发出WebRequest,从.asp应用程序获取连接字符串或任何其他信息。

但是,根据两者相对于彼此的位置,会出现延迟问题。所以我会获取一次信息,然后将其保存到文件或其他内容,然后在下次从那里读取。

答案 1 :(得分:0)

我正在发布另一个答案,所以我可以发布一些不会出现乱码的代码。以下是基于任务的版本。

var webRequest = WebRequest.Create("http://www.microsoft.com");
webRequest.GetReponseAsync().ContinueWith(t =>
{
  if (t.Exception == null)
  {
    using (var sr = new StreamReader(t.Result.GetResponseStream()))
    {
      string str = sr.ReadToEnd();
    }
  }
  else
    System.Diagnostics.Debug.WriteLine(t.Exception.InnerException.Message);
});

这是一个未经测试的同步版本,但应该让你去。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string str = reader.ReadtoEnd();