過去に私は使用していました:
using (LoginServiceClient = new LoginServiceClient()) {
//do stuff
service.Close();
}
しかし今、私はしようとしています:
public class UseLoginService : ActionFilterAttribute {
LoginServiceClient = new LoginServiceClient();
public override void OnActionExecuting(ActionExecutingContext filterContext) {
base.OnActionExecuting(filterContext);
filterContext.ActionParameters["service"] = service;
}
public override void OnActionExecuted(ActionExecutedContext filterContext) {
base.OnActionExecuted(filterContext);
service.Close();
}
}
[UseLoginService]
public ActionResult myAction(LoginServiceClient service) {
//service is accessible here
return View();
}
これにより、サービスが適切に終了/破棄されますか? 伝える方法はありますか?このようなことを行うことで、メモリ リークに対して脆弱なままになるのではないかと心配しています。