.NET Framework 4.5中的System.Net.Http.HttpClient和System.Net.Http.HttpClientHandler实现了IDisposable(通过System.Net.Http.HttpMessageInvoker).
该using声明文件说:
通常,当您使用IDisposable对象时,您应该在using语句中声明并实例化它.
这个答案使用了这种模式:
var baseAddress = new Uri("http://example.com");
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("foo", "bar"),
new KeyValuePair<string, string>("baz", "bazinga"),
});
cookieContainer.Add(baseAddress, new Cookie("CookieName", "cookie_value"));
var result = client.PostAsync("/test", content).Result;
result.EnsureSuccessStatusCode();
}
Run Code Online (Sandbox Code Playgroud)
但是微软最明显的例子并没有Dispose()明确地或隐含地调用.例如:
我找不到使用MVC Core下载文件的参考.
我们有一个exe文件供会员从我们的网站下载.过去我们已经把
<a href=(file path)> Download < /a>供我们的用户点击.我想在MVC Core中做同样的事情
<a href=@ViewData["DownloadLink"]> Download < /a>
Run Code Online (Sandbox Code Playgroud)
使用下载链接填充文件路径.
public class DownloadController : Controller
{
[HttpGet]
public IActionResult Index()
{
ViewData["DownloadLink"] = ($"~/Downloads/{V9.Version}.exe");
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
`
链接<a href=@ViewData["DownloadLink"]> Download < /a>获取正确的路径,但单击时仅在地址栏中呈现路径.有没有简单的方法来设置下载链接?