Приветствия, все. Вот моя ситуация. Я пытаюсь сделать HttpWebRequest локальным файлом обработчика, и я продолжаю получать следующее исключение:IOException при создании HttpWebRequest для локального файла ASHX
Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом.
Теперь я использую файл локального обработчика, потому что я пишу код интеграции для третьей стороны, которую будет использовать сайт. Пока у меня нет тестовой среды для выполнения запросов, я в основном издеваюсь над процессом с локальным файлом обработчика. Вот соответствующий код. Благодарю.
WebRequest код (подзапрос переменная является объектом передается методу выполнения этого кода):
XmlSerializer serializer;
XmlDocument xmlDoc = null;
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(requestUrl);
webRequest.Method = "POST";
webRequest.ContentType = "text/xml";
webRequest.KeepAlive = true;
webRequest.Accept = "*/*";
serializer = new XmlSerializer(subRequest.GetType());
XmlWriter writer = new XmlTextWriter(webRequest.GetRequestStream(), Encoding.UTF8);
serializer.Serialize(writer, subRequest);
writer.Close();
xmlDoc = new XmlDocument();
xmlDoc.Load(XmlReader.Create(webRequest.GetResponse().GetResponseStream()));
"requestUrl" определяется как "http://localhost:2718/Handlers/MyHandler.ashx". Я могу просто ударить файл обработчика и пройти через код. Все это делает сборку ответ XML в виде строки и записывает его в объект Response:
context.Response.ContentType = "text/xml";
string newSubscriptionId = Utils.GetUniqueKey();
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
// Assemble XML string here
context.Response.Write(sb.ToString());
Насколько я могу сказать, что это все работает просто отлично. Но когда мой код попадает в последнюю строку WebRequest фрагмента:
xmlDoc.Load(XmlReader.Create(webRequest.GetResponse().GetResponseStream()));
ли когда исключение. Есть идеи? Заранее спасибо.
Джеймс
LOL! И точно так же, как только я отправил этот вопрос, я получил детали подключения для тестовой среды, которую я ждал. Забавно. По-прежнему будет признателен за ответ или предложение по этому вопросу, однако, если это снова появится. :) –