Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET生命周期在数据加载方面的最佳实践?_C#_Asp.net_Lifecycle - Fatal编程技术网

C# ASP.NET生命周期在数据加载方面的最佳实践?

C# ASP.NET生命周期在数据加载方面的最佳实践?,c#,asp.net,lifecycle,C#,Asp.net,Lifecycle,我有一个关于ASP.NET和C加载数据的最佳实践的问题# 作为概述,我们有一个web页面,它使用支持web服务来获取相当大的XML文件。然后将该文件转换为客户端JavaScript以用于加载ListView protected string clientSideJavaScripts; protected void Page_Init(object sender, EventArgs e) { // code goes here to submit a request and rece

我有一个关于ASP.NET和C加载数据的最佳实践的问题#

作为概述,我们有一个web页面,它使用支持web服务来获取相当大的XML文件。然后将该文件转换为客户端JavaScript以用于加载ListView

protected string clientSideJavaScripts;

protected void Page_Init(object sender, EventArgs e)
{
    // code goes here to submit a request and receive an XML Response from the web service
    // code goes here to set clientSideJavaScripts = translated Java Script from the XML Document
    // other code goes here
}
ASP文件包含以下内容:

<head>
    <title></title>
    <script type="text/javascript>
       <%=clientSideJavaScripts%>
    </scrpit>
</head>

...
然而,这样做的结果是服务器端字符串'clientSideJavaScripts'不再被实例化,因此在tje第一次回发之后,客户端不再获得所需的javascript

我确信,在这种情况下,我缺少了一种明显的(可能是常见的)方法来处理javascript的持久性,但我不知道这一点,因此我正在寻求任何人的建议。确保Web服务只被调用一次的最佳实践是什么

我也在使用AJAX和JQuery Mobile,如果这有什么不同的话

如有任何建议,将不胜感激。
非常感谢

如果我理解正确,您可以将webservice调用的结果添加到会话中(如果有大量数据,则不建议这样做),也可以将其插入缓存中(类似于
cache.insert(…)
)。第三种选择可能是,一旦从Web服务检索到它,就以某种方式将其存储在数据库中,对于后续调用,则从数据库中获取它(可能在会话结束后进行清理)。尝试跟踪您对页面的调用,以验证调用的内容和未调用的内容(您也可以使用Fiddler)。您是说不希望在回发中加载JavaScript吗?我认为您需要在每个页面请求中加载它(不确定这是否是您所要求的)。我只需要在有人第一次登陆页面时加载javascript(通过webservice)。在那之后,我希望它在回发过程中保持持久性,而不是在每次回调时都访问Web服务。我将调查我上面所说的,它可能会起作用,但您应该尽量避免在会话中放入大量数据。
protected string clientSideJavaScripts;

protected void Page_Init(object sender, EventArgs e)
{
    if (!Page.IsPostBack) 
    {
       // code goes here to submit a request and receive an XML Response from the web service
       // code goes here to set clientSideJavaScripts = translated Java Script from the XML Document
    }
    // other code goes here
}