c# - WP7.1应用程序中的WebClient仅调用一次

标签 c# windows-phone-7 azure

我的问题是:

我的 WebClient 使用云中的函数 (http://127.0.0.1:81/Service1.svc/Data)。

但不可能多次调用(例如进行更新)。

这是我的代码:

private void button_Click(object sender, RoutedEventArgs e)
{
WebClient cnt = new WebClient();
cnt.DownloadStringCompleted += new DownloadStringCompletedEventHandler(cnt_DownloadStringCompleted);
cnt.DownloadStringAsync(new Uri("http://127.0.0.1:81/Service1.svc/Data"));
}

void cnt_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
int num = JsonHelper.FromJson<int>(e.Result);
textbox.Dispatcher.BeginInvoke(() => textbox.Text = Convert.ToString(num));
}

每次点击后,应用程序在 cnt_DownloadStringCompleted 中运行良好,但结果 (e.Result) 在服务器中更新后永远不会改变。

在 Azure 服务中,我通过中断注意到函数(数据)仅被调用一次(第一次)。

如何多次调用我的服务?

最佳答案

检查您的服务器端以确保您不允许缓存。如果您的服务中有响应上下文,请设置:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

或者,如果您没有能力执行此操作,请在查询字符串上发送不断变化的无意义参数,例如:

http://127.0.0.1:81/Service1.svc/Data?nonsense=190AF142-4341-47DC-9CF5-3BC3ACBD02EE

您可以每次生成并发送新的 guid,甚至可以使用 DateTime.Now.Ticks.ToString()。话虽这么说,如果您可以控制服务器端,请消除缓存,因为这种方式是一种严重的黑客攻击。

关于c# - WP7.1应用程序中的WebClient仅调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9668884/

相关文章:

c# - 在 .NET 4 中编译 .NET 代码?

c# - 引发订阅的异步事件后,对象会自动处理吗?

azure - 参数文件: Template validation failed: Required property 'type' not found in JSON

sql-server - Azure SQL 服务上 SQL Server Filestream 的最佳替代方案

c# - 为什么我的动态值字典迭代(并行)丢弃了我的本地范围变量?

c# - 创建 Excel 文件时出错?

c# - 如何设置相关实体​​的计数属性而无需执行额外查询或包含不必要的数据

windows-phone-7 - Windows Phone 应用程序部署错误 0x89731812

windows-phone-7 - 如何在通过 USB 电缆连接时监控 WP7 HTTP 流量

azure - Visual Studio 2017 MSBuild 无法构建 Azure Functions