Thanks for another idea! We use FireBird database at the moment, and we don't use ActiveDirectory. Our application is based on a single core library, and we have +-10 clients on it, so even if some clients have ActiveDirectory, we still need a broader solutios which would support non ActiveDirectory clients.
On 7 Geg, 16:44, Markus Zywitza <[email protected]> wrote: > If your users are in ActiveDirectory, you can simply use SSPI. If not > and there are only a handful of users, create them as local accounts > on the SQL server and use SSPI. > > -Markus > > 2009/5/7 Darius Damalakas <[email protected]>: > > > > > Ok, that's a tricky thing to do. > > For less than 1sec performance gain, i will spend at least two days > > figuring out what to do. > > > Thanks for the help. We will evaluate our second option to use the > > same database connection for different users > > > On 7 Geg, 11:38, Markus Zywitza <[email protected]> wrote: > >> There is a possibility, but it is not very elegant. You can use > >> DifferentDatabaseScope with your own provided IDbConnection, which > >> includes the username and password. You will have to manage the > >> connection youself such as this: > > >> using (IDbConnection conn = new SqlConnection(...)) > >> using (var scope = new DifferentDatabaseScope(conn)) > >> { > > >> } > > >> Alternatively, you can implement your own SessionScope based on > >> AbstractScope and override OpenSession and PerformDisposal. > > >> -Markus > > >> 2009/5/7 Darius Damalakas <[email protected]>: > > >> > I am doing a performance upgrade for my desktop app, and i want to > >> > make it start faster. > > >> > Now, the time between login screen is closed when the user enters his > >> > username and password, and the main screen appears is 4 seconds. > > >> > From those two seconds the time is spent as follows: > >> > 1. Show login form - 200 ms > >> > 2. ActiveRecord initialization - 1120 ms - building cfg file from > >> > our 50 class domain model, and loading it > >> > 3. Find user login info and load security info - 550 ms > >> > (this involves also invoking NHibernate.Impl.SessionFactoryImpl > >> > constructor) > >> > 4. Build main window - 814 ms > >> > 5. Populate main window with data from db 1101 ms > >> > 6. a call to Application.Run - 200 ms > > >> > Now i have already moved some of the stuff to another thread, so when > >> > the user is typing his username password (and i bet he does not that > >> > in less than 1 or 2 seconds), some of the stuff is already > >> > precalculated. > > >> > Now my problem is that i don't know if it possible to initialize > >> > active record with our model classes. ActiveRecord is being > >> > initialized with this code: > > >> > ActiveRecordStarter.ResetInitializationFlag(); > >> > ActiveRecordStarter.Initialize(m_configurationSource, businessTypes); > > >> > However, login information is already included in configurationSource. > >> > So that means i can not move this code to another thread, since i do > >> > not have username and password. > > >> > So, i am thinkin of the following options: > >> > 1) Maybe is it possible to initialize AR and then just change user > >> > name and password without reinitializing all models again? > >> > If yes, could someone give an example. I believe it might possible > >> > just simply changing the connection string property in > >> > m_configurationSource prior to issuing any queries against DB (so that > >> > NHibernate session factory would not be created yet) > > >> > 2) if first option is not possible, then there is another choice: > >> > create a standard username and password, and connect to database > >> > always with it. Now, a username and password must be stored somewhere, > >> > so that will be a problem too, but for the moment let's say i would > >> > just hard-code it in my dll. > >> > Now, when the user tries to log in to my application, i would lookup > >> > for his username and password in some database table (we already have > >> > that, except it only has user name column, but not password) > > >> > 3) if second option is not a right thing to do, then i don't know any > >> > other option :) > > >> > Thank you for any ideas --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
