有什么不同的方式来调用mvc动作

时间:2013-12-19 10:02:52

标签: 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 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();

2 个答案:

答案 0 :(得分:0)

您可以使用Fiddler2(http://fiddler2.com/)来比较2个请求。

可能的原因:

  • 您正在制作GET请求而不是POST

你也可以查看EventViewer - 它应该写出500错误的解释

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

答案 1 :(得分:0)

我使用HttpWebRequest实现了这一点,这很好用