Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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# 如何创建到另一个服务器(URI)的Http请求并同步调用它_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# 如何创建到另一个服务器(URI)的Http请求并同步调用它

C# 如何创建到另一个服务器(URI)的Http请求并同步调用它,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我有一个ASP.net MVC3应用程序。在我的一个控制器中,有一个向应用程序的某些用户发送SMS的操作。现在根据我们的SMS提供商,他将需要一个http请求到他的服务器(比如说)。有许多请求参数将附加到此URI。然后,需要使用请求参数将请求发送到上述URI,sms服务器将返回状态代码(响应),指示sms发送是否失败或成功。我不确定我们是如何在ASP.net(或者C#如果这看起来合乎逻辑的话)中创建这样的请求的。如果有人能给我指出正确的方向,我将不胜感激。请使用。这比WebRequest(及其衍

我有一个ASP.net MVC3应用程序。在我的一个控制器中,有一个向应用程序的某些用户发送SMS的操作。现在根据我们的SMS提供商,他将需要一个http请求到他的服务器(比如说)。有许多请求参数将附加到此URI。然后,需要使用请求参数将请求发送到上述URI,sms服务器将返回状态代码(响应),指示sms发送是否失败或成功。我不确定我们是如何在ASP.net(或者C#如果这看起来合乎逻辑的话)中创建这样的请求的。如果有人能给我指出正确的方向,我将不胜感激。

请使用。这比WebRequest(及其衍生产品)更易于使用。在内部,它也使用WebRequest。

您需要该类。该文件有一个样本:

// Create a new 'Uri' object with the specified string.
Uri myUri =new Uri("http://www.contoso.com");
// Create a new request to the above mentioned URL. 
WebRequest myWebRequest= WebRequest.Create(myUri);
// Assign the response object of 'WebRequest' to a 'WebResponse' variable.
WebResponse myWebResponse= myWebRequest.GetResponse();

请检查
WebResponse
对象的
StatusCode
属性,查看SMS提供商返回的状态。

您也可以使用。

我知道问题的标题专门询问同步呼叫,但您可能真的想查看异步控制器以获得第三方网络外请求


WebRequest(或HttpWebRequest)似乎非常适合我的场景。但是,我想知道为什么它没有像WebClient()那样的用于构造查询字符串的名称/值参数。我是否需要在没有名称/值对帮助的情况下手动构建查询字符串?是的,您需要-答案是因为
WebRequest
通常是比
WebClient
更低级别的实现,因此,虽然您有更多的控制权,但为您完成的工作却更少。但是,由于您对状态代码而不是实际响应感兴趣,因此选择
WebRequest
是有意义的。