> Hi Joe, Thanks for answering.
>
[quoted text clipped - 28 lines]
> > >
> > > Thanks
I found the problem, my mistake and it was a stupid one. Basically my
solutions contains a few tens of projects and some assemblies are being
loaded dynamically using reflection. When the solution is built one of the
projects is responsible to copy over the necessary dll to a web project and
it happened the build order was wrong. That's why when the code is modified
it's not get updated.
I still have two questions, though
1. Is it possible to bind and have no attribute loaded, I need this because
for some cases I don't need to do anything to any of the attributes.
2. I tried to bind a organizationalUnit object and call the RefreshCache in
a few ways. And this is the result,
-- RefreshCache( string[] {} ) -> passing empty array
Number of attributes returns: 11
1. objectClass
2. ou
3. distinguishedName
4. instanceType
5. whenCreated
6. whenChanged
7. uSNCreated
8. uSNChanged
9. name
10. objectGUID
11. objectCategory
-- RefreshCache() --> no parameter
Number of attributes returns: 12
1. objectClass
2. ou
3. distinguishedName
4. instanceType
5. whenCreated
6. whenChanged
7. uSNCreated
8. uSNChanged
9. name
10. objectGUID
11. objectCategory
12. nTSecurityDescriptor
Why the nTSecurityDescriptor attribute make the different? I'm not familiar
in any way in Active Directory, do you know any article which can explain
about all these?
Thanks
"Joe Kaplan (MVP - ADSI)" <joseph.e.kaplan@removethis.accenture.com> wrote
> I checked in my ADAM instance and got exactly the same behavior as I did
> with AD. Are you sure you didn't do anything before the RefreshCache that
[quoted text clipped - 35 lines]
> > > >
> > > > Thanks
Joe Kaplan \(MVP - ADSI\) - 15 Jul 2004 15:26 GMT
To force a bind without loading the property cache, the standard method is
to reference the NativeObject property. People using AD to do LDAP
authentication tend to use it for this reason.
I'm going to have to take a guess on why the null array doesn't load the
ntSecurityDescriptor and the overload with no parameters loads it as I can't
look at the source right now. I'll try to do that later.
My guess is that the ntSecurityDescriptor is a constructed attribute.
Generally constructed attributes like allowedAttributesEffective,
canonicalName and tokenGroups will not be returned from a base LDAP search
unless they are specifically requested. My assumption is that the GetInfo
call (which is what happens when you do RefreshCache) asks for
ntSecurityDescriptor by default. However, when you do a RefreshCache with
parameters specified, the corresponding GetInfoEx call gets passed straight
into a base level LDAP search. An LDAP search with a null attribute array
specified returns all the attributes for that object (exept the constructed
ones or the ones you don't have permissions to see).
I hope that helps explain it and I hope it is correct :)
Joe K.
> I found the problem, my mistake and it was a stupid one. Basically my
> solutions contains a few tens of projects and some assemblies are being
[quoted text clipped - 88 lines]
> > > > >
> > > > > Thanks