ASP.NET MVC 3项目中的WebRequest.GetResponseStream()失败



我正试图在ASP.NET MVC 3应用程序中执行编程HTTP POST。其目的是模仿表格提交。

我使用以下代码(为了保密起见,稍作修改):

string input = "foo=bar";
byte[] data = Encoding.UTF8.GetBytes(input);
var request = (HttpWebRequest)WebRequest.Create("http://my.domain.com/endpoint");
request.ContentLength = data.Length;
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
using ( var stream = request.GetRequestStream() ) {
    stream.Write(request);
    stream.Close();
}
var response = request.GetResponse();
// get the response data, do backflips, save the world

问题是,我在.GetRequestStream()调用过程中遇到一个错误,说我无法连接到URL资源。

但是,如果我在控制台应用程序中插入完全相同的代码,我可以很好地连接。一位同事还在WCF服务应用程序中使用相同的代码进行了连接。

这把我逼疯了。如有任何帮助,我们将不胜感激。

这听起来像是一个安全问题。

要修复,请尝试以下操作:

  • 摆弄你的asp.net运行的安全上下文
  • 确保防火墙设置正确-尝试禁用它以进行快速检查
  • 返回使用ASP.net开发服务器使用[;)]进行测试

如果这不起作用,那么你能添加更多信息吗,例如Fiddler日志、堆栈跟踪。

相关内容

  • 没有找到相关文章

最新更新