Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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
Asp.net mvc 调用mvc操作的不同方式有哪些_Asp.net Mvc_C# 4.0 - Fatal编程技术网

Asp.net mvc 调用mvc操作的不同方式有哪些

Asp.net mvc 调用mvc操作的不同方式有哪些,asp.net-mvc,c#-4.0,Asp.net Mvc,C# 4.0,我的控制器中有一个动作方法 我们目前正在从ajax jquery调用它,这很好。 我被要求使用WebRequest或任何其他方式调用action方法 我正在尝试下面的方法,我得到:500个内部异常-在GetResponse()上 有人能告诉我这真的有可能吗 WebRequest request = WebRequest.Create("http://localhost:52414/stealthApi/StealthData/"); // If required by the serve

我的控制器中有一个动作方法

我们目前正在从ajax jquery调用它,这很好。 我被要求使用WebRequest或任何其他方式调用action方法

我正在尝试下面的方法,我得到:500个内部异常-在GetResponse()上

有人能告诉我这真的有可能吗

WebRequest request = WebRequest.Create("http://localhost:52414/stealthApi/StealthData/");
    // If required by the server, set the credentials.
    request.Credentials = CredentialCache.DefaultCredentials;
    // Get the response.
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    // Display the status.
    Console.WriteLine(response.StatusDescription);
    // Get the stream containing content returned by the server.
    Stream dataStream = response.GetResponseStream();
    // Open the stream using a StreamReader for easy access.
    StreamReader reader = new StreamReader(dataStream);
    // Read the content. 
    string responseFromServer = reader.ReadToEnd();
    // Display the content.
    Console.WriteLine(responseFromServer);
    // Cleanup the streams and the response.
    reader.Close();
    dataStream.Close();
    response.Close();
您可以使用Fiddler2()来比较两个请求

可能的原因:

  • 您正在发出GET请求而不是POST
您还可以查看EventViewer,它应该会对您的错误进行解释


注意:这不是问题的原因,但是:使用“using”语句而不是reader.Close()

我使用HttpWebRequest实现了这一点,并且运行良好,错误为500,从ASP.net/MVC您还应该得到一条异常消息,这条消息是什么。此外,您可能需要提供返回异常的操作的代码大纲。这是为什么。它将我抛出到第三个孤岛:request.GetResponse();是的,您在请求时收到错误消息。GetResponse()。这是因为您创建了错误的请求对象。我建议安装Fiddler2并比较两个请求:一个来自ajax,另一个来自代码。