【发布时间】:2014-06-20 18:30:01
【问题描述】:
我有以下静态类,它有一个发送方法,用于触发并忘记异步 http 调用。
public static class AsyncHttpRequest
{
public static void Send(string url)
{
//perform an async get on the url
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = false;
ThreadPool.QueueUserWorkItem(
o =>
{
var response = request.GetResponse();
response.Close();
});
}
catch (Exception ex)
{
Errors.ErrorSignal.SignalError(ex);
}
}
}
从 Web 应用程序项目调用相同的 URL 效果很好。但是从单元测试项目调用相同的 URL 是行不通的。它没有调用 URL。我签入了提琴手。这是为什么呢?
在这两种情况下,我都是这样打电话的 -
AsyncHttpRequest.Send("http://example.com");
【问题讨论】:
-
你有没有试过放断点,看看你是否点击了 request.GetResponse() 行?
标签: c# asp.net .net asp.net-mvc unit-testing