KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am building a MVC3 app using Ninject framework. I have a service that is time-consuming to initialize, and at the end this service will has an object that contains user-specific information, then I need to re-use that service as long as the user session is active, so that I can avoid to initialize that service again and again So my question is When I bind the service using Ninject what kind of scope should I pick, there is no session per scope in Ninject, so what is the best way to implement the requirement? or did I went to a wrong direction at all? I've created a custom provider for one of my services that will create the service based on username details that is grabbed from current Controller.User.Identity.Name. The code below won't work because the userName local variable is missing, how can I pass the user name value into my custom provider via Ninject, so that I can pick it up from IContext?? public class TfsConnectionManagerProvider : Provider<TfsConnectionManager> { protected override TfsConnectionManager CreateInstance(IContext context) { Uri serverUri = new Uri(ConfigurationHelper.TfsServerUrl); // Connect to the server without impersonation using (TfsTeamProjectCollection baseUserConnection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(serverUri)) { // Get the identity management service IIdentityManagementService ims = baseUserConnection.GetService<IIdentityManagementService>(); // Get the identity to impersonate TeamFoundationIdentity identity = ims.ReadIdentity ( IdentitySearchFactor.AccountName, userName, //NOTE: How can I get user name value from IContext??? MembershipQuery.None, ReadIdentityOptions.None ); // Connect usi
Tags (comma-separated)
Save Edits
Cancel