我提供以下服务:
[ServiceContract]
interface IUsersService {
[OperationContract]
void CreateUser(UserDTO user)
}
public class UsersService : IUserService, IDisposable{
IRepository<User> _userStore;
UsersService(IRepository<User> userStore){
_userStore = userStore;
}
public void CreateUser(UserDTO user){
User newUser = user.ToEntity();
_userStore.Add(newUser);
_userStore.CommitChanges();
}
public void Dispose(){
_userStore.Dispose();
}
}
在客户端,我有以下内容:
public class UsersController : Controller{
private IUsersService service;
// IUsersService is an ICommunicationObject
public UsersController(IUsersService service){
this.service = service;
}
public IActionResult CreateUser(UserDTO user){
this.service.CreateUser(user);
return Ok();
}
}
在完成我需要做的所有事情之后,如何强制在服务器端调用dispose方法?
或者,我无法弄清楚如何配置服务,以便在每个会话的基础上调用服务的服务器端实现上的Dispose方法(我需要处理随之而来的db连接在该IRepository实例中)。我已经读过它,但无法正确调用它。
有人可以指出我正确的方向吗?
谢谢