我想使用内存测试我的 Web API 服务HttpServer
.
当前的设置如下所示:
var httpConfig = CreateTestHttpConfiguration();
var server = new HttpServer(httpConfig);
var handler = new WebRequestHandler();
var cert = new X509Certificate2("filename", "password");
handler.ClientCertificates.Add(cert);
var client = HttpClientFactory.Create(handler, server);
我可以使用这些向服务器发出请求client
除了证书未添加到请求中之外,一切正常。
据我了解,这种情况发生以来server
在之前执行handler
(我无法重新排列它们,因为它们实现了不同的接口)并且因为server
立即回应handler
甚至没有执行(我已经使用测试了这个假设HttpClientHandler
子类而不是handler
).
所以我的问题是:如何添加客户端证书以进行内存测试?
这种方法将做到这一点:
var server = new HttpServer(configuration);
var invoker = new HttpMessageInvoker(server);
var certificate = GetCertificate();
var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/YourPath");
request.Properties[HttpPropertyKeys.ClientCertificateKey] = certificate;
var result = await invoker.SendAsync(request, CancellationToken.None);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)