1

我需要使用 C# 以编程方式调用如下所示的 url:

http://mysite.com/AdjustSound.php

这个 php 文件需要SoundLevel我一个。所以,一个示例调用将是这样的:

http://mysite.com/AdjustSound.php?SoundLevel=30

我有两个问题:

1:

WebRequest request = 
   WebRequest.Create("http://mysite.com/AdjustSound.php?SoundLevel=30");
// Which one?
// request.Method = "GET";
// request.Method = "POST";

问题1:我需要提出GETPOST请求吗?

2:

因为,我非常频繁地进行这个 http 调用(每秒 10-20 次);我有一些速度问题。所以,我不希望我的程序等到这个 http 调用完成并检索结果。我希望它Webrequest异步运行。

另一个问题是我不需要看到这个 http 调用的结果。我只想调用服务器端。甚至,我不在乎这个调用是否成功完成......(如果失败,很可能我会在几毫秒后调整声音。所以,我不在乎。)我写了以下代码:

WebRequest request = 
     WebRequest.Create("http://mysite.com/AdjustSound.php?SoundLevel=30");
request.Method = "GET";
request.BeginGetResponse(null, null);

问题 2:运行此代码似乎可以吗?可以打电话request.BeginGetResponse(null, null);吗?

编辑

看完评论;我修改了我的代码,如下所示:

WebClient webClient = new WebClient();
Uri temp = new Uri("http://mysite.com/AdjustSound.php?SoundLevel=30");
webClient.UploadStringAsync(temp, "GET", "");

现在好了吗?

4

1 回答 1

1

问:我需要发出 GET 或 POST 请求吗?

A:这个例子实际上一个“GET”请求。在这里,我会使用“GET”。如果您有表格,我会推荐“POST”

问:我非常频繁地进行此 http 调用(每秒 10-20 次);我有一些速度问题。

如果您碰巧有幸使用 .Net 4.x,我强烈建议您查看他们的“异步 API”:

于 2012-06-18T18:56:47.090 回答