0

我们的应用程序有一些隐藏字段,就像任何其他 asp.net 应用程序一样。在这里,我们使用隐藏字段来存储图像的 HTML,这是相当大的。我们在 C# 代码中使用隐藏字段的值(大 HTML 字符串)进行进一步处理。

我们倾向于创建我们的应用程序的 4 个实例,并且我们对 azure 云服务的负载平衡有疑问。我们在应用程序的中途通过 javascript 为这些隐藏字段赋值。由于此处理是在客户端完成的,因此这里没有问题。但是由于 azure 有多个实例,所以如果想在服务器端访问这些隐藏字段(即在我们的 C# 中),如果实例更改,直接访问这些隐藏字段会因为负载平衡而产生任何问题?

注意:我们的页面在服务器端访问这些隐藏字段时不会回发。

我们不清楚实例何时更改,如果我们的页面没有回发,那么请求会转到同一个实例吗?这个有保障吗。此外,如果页面进行回发,那么响应是否会转到调用请求实例的同一实例。

我们需要在服务器端访问这些隐藏字段的建议或正确方法。这些隐藏的领域对我们来说非常重要;由于数据非常大,使用 azure 的缓存/会话设置对我们来说将变得非常昂贵。如果建议是免费实施,那将非常有帮助。因为我们的预算已经很紧张了。

//2013 年 10 月 25 日

我们有一大串数据,主要由从 Bing Map 获得的 HTML 组成,我们使用 Bing Map div 元素的 Jquery Selector 获取 Bing Map 的 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 发送到后面的代码。我们真的陷入了死胡同。

4

1 回答 1

1

您表示缓存对您来说代价高昂。虽然使用缓存服务确实会产生一些成本,但您是否考虑过将同地角色内缓存作为替代方案?也许您在现有实例上有足够的额外资源来支持您的需求。如果您选择走这条路线,我在上面提供的链接中有一个指向一些容量规划的链接。

--- 2013 年 10 月 24 日 ---

如果我正确理解了您的最新描述,则您正在客户端上生成一些 HTML,您希望将其上传到 Azure 上的 Web 应用程序。在 Web 应用程序中,您使用该 HTML 生成我假设客户端稍后会收到的 PDF。如果这是您的场景,那么您可以上传 HTML 并将其存储为 blob?这样,Web 应用程序的任何实例都可以从 blob 存储中引用它,而不是将其填充到隐藏字段中。

在您的 Web 应用程序中,您可以使用HttpPostedFile从客户端接收文件并将其保存到 blob。注意:您可能需要调整最大值。帖子允许的大小,因为它默认为 4MB,并且您指出您的数据可能高达 5MB。

我想帮助你,但你的问题不是那么清楚。考虑到讨论的背景,即使是标题也具有误导性。如果这没有帮助,那么您可能需要编辑您的问题。

于 2013-10-22T17:34:09.487 回答