1
我試圖在ASP.NET MVC 3應用程序中執行編程HTTP POST。目的是模仿表單提交。WebRequest.GetResponseStream()在ASP.NET MVC 3項目中失敗
我用下面的代碼(爲了保密略有修改):
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服務應用程序中使用相同的代碼進行連接。
這使我瘋狂。任何幫助,將不勝感激。
第一個明顯的區別是與控制檯應用程序相關的安全性和站點不同。嘗試擺弄你的安全配置文件 - 你運行什麼類型的用戶?看看是否有幫助 – 2012-01-31 09:45:08
還請確保該用戶有權在防火牆(端口80)中進行該呼叫。 – 2012-01-31 09:47:26
@rangitatanz〜是的,也想到了 - 這就是爲什麼有WCF服務應用程序測試。但絕對會更多地考慮這一點。 – 2012-01-31 09:51:28