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
-~----------~----~----~----~------~----~------~--~---

Reply via email to