与任何其他asp.net应用程序一样,我们的应用程序有一些隐藏字段。这里我们使用隐藏字段来存储图像的HTML,这是相当大的。我们在C#代码中使用隐藏字段的值(大型HTML )进行进一步处理。
我们倾向于创建应用程序的4个实例,我们对天蓝色云服务的负载平衡有疑问。我们通过javascript在应用程序过程的中途为这些隐藏字段赋值。由于此处理是在客户端完成的,因此这里没有任何问题。但是由于azure有多个实例,所以如果想在服务器端(即在我们的C#中)访问这些隐藏字段,那么如果实例发生变化,直接访问这些隐藏字段会导致负载平衡问题吗?
注意:在访问服务器端的这些隐藏字段时,我们的页面不会回发。
我们不清楚实例什么时候更改,如果我们的页面没有回发,那么请求会转到同一个实例吗?这有保证吗。另外,如果页面执行回发,那么响应是否会转到调用请求实例的同一个实例。
我们需要建议或访问服务器端这些隐藏字段的正确方法。这些隐藏字段对我们非常重要;由于数据非常大,使用azure的缓存/会话设置对我们来说将变得非常昂贵。如果这项建议是免费的,那将是非常有帮助的。因为我们的预算已经很紧了。
//2013年10月25日
我们有一大串数据,主要由从Bing Map获得的HTML组成,我们使用Bing map div元素的Jquery Selector获取Bing映射的HTML,我们希望将这个HTML字符串发送到后面的代码。我们的javascript上有这个字符串,但是当我们执行ajax时,对后面的代码的调用会失败。
我们甚至试图通过POST方法将其发送到体内,但这再次失败。
var string = formData; // so long text
var xhr = new XMLHttpRequest();
var body = "string=" + encodeURIComponent(string);
xhr.open("POST", "index.aspx/getString", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Content-Length", body.length);
xhr.setRequestHeader("Connection", "close");
xhr.send(body);正如Rick所建议的,我们已经尝试了blob,但是问题在于将字符串从javascript发送到后面的代码。我们真的被困在死胡同了。
发布于 2013-10-22 17:34:09
您表示缓存对您来说将是昂贵的。虽然使用缓存服务确实会引起一些费用,但您是否认为角色内缓存是一种替代方案?也许您在现有实例上有足够的额外资源来支持您的需求。如果您选择这条路线,我在上面提供的链接中有一个指向某些容量规划的链接。
-2013年10月24日
如果我正确理解您的最新描述,您将在客户端生成一些HTML,您希望将这些HTML上传到Azure上的web应用程序中。在web应用程序中,您使用该HTML生成PDF,我假设客户机稍后会收到该PDF。如果这是您的场景,那么您可以上传HTML并将其存储为blob吗?这样,web应用程序的任何实例都可以从blob存储中引用它,而不是将其填充到隐藏的字段中。
在您的web应用程序中,您可以使用HttpPostedFile从客户端接收文件并将其保存到blob中。注意:您可能需要调整最大值。允许文章的大小,因为它默认为4MB,并且您指示您的数据可能高达5MB。
我是想帮你,但你的问题还不太清楚。考虑到讨论的背景,甚至标题也是误导人的。如果这没有帮助,那么你可能想编辑你的问题。
https://stackoverflow.com/questions/19521161
复制相似问题