E
Eskimo
System.UnauthorizedAccessException: Access is denied.
at System.DirectoryServices.Interop.IAds.SetInfo()
at System.DirectoryServices.DirectoryEntry.CommitChanges()
at CreateVirtualDirectories.Dal.CreateWebVirtualDirectory.Create
....
tried on the local development box and it had issues like this
until I gave permissions like described in Article ID 329986, scroll down,
Method A.
It is a double hop as I did the test at the bottom in the Quick Test section.
Code snippets:
Web.config for web service having the error shown above...
<identity impersonate="true" />
....
SCHEMA= "IIsWebVirtualDir";
mRootSubPath = "/W3SVC/1/Root";
....
DirectoryEntry deRoot= new DirectoryEntry("IIS://" + "localhost"
+ mRootSubPath,winAcctId,winAcctPwd,AuthenticationTypes.Secure);
....
if (Directory.Exists("c:\temp\Eskimo\") == false)
{
Directory.CreateDirectory("c:\temp\Eskimo\");
}
deRoot.RefreshCache();
DirectoryEntry deNewVDir =
deRoot.Children.Add("Eskimo",mSchema);
deNewVDir.Properties["Path"].Insert(0,"c:\temp\Eskimo\");
....
deNewVDir.Properties["AccessRead"][0] =true;
deNewVDir.Properties["AccessWrite"][0] = true;
deNewVDir.Properties["AccessExecute"][0] = true;
deNewVDir.Properties["AuthAnonymous"][0] = false;
deNewVDir.Properties["AuthBasic"][0] = false;
deNewVDir.Properties["AuthNTLM"][0] = true;
deNewVDir.Properties["ContentIndexed"][0] = false;
deNewVDir.Properties["EnableDirBrowsing"][0] = true;
...
deNewVDir.Invoke("AppCreate",true);
deNewVDir.CommitChanges();
deRoot.CommitChanges();
deNewVDir.Close();
deRoot.Close();
....
Now: in a windows application it works great! I have a DLL project and a
windows app test project and the web service accessing the DLL project.
In a web service I get the error listed above...
at System.DirectoryServices.Interop.IAds.SetInfo()
at System.DirectoryServices.DirectoryEntry.CommitChanges()
at CreateVirtualDirectories.Dal.CreateWebVirtualDirectory.Create
....
tried on the local development box and it had issues like this
until I gave permissions like described in Article ID 329986, scroll down,
Method A.
It is a double hop as I did the test at the bottom in the Quick Test section.
Code snippets:
Web.config for web service having the error shown above...
<identity impersonate="true" />
....
SCHEMA= "IIsWebVirtualDir";
mRootSubPath = "/W3SVC/1/Root";
....
DirectoryEntry deRoot= new DirectoryEntry("IIS://" + "localhost"
+ mRootSubPath,winAcctId,winAcctPwd,AuthenticationTypes.Secure);
....
if (Directory.Exists("c:\temp\Eskimo\") == false)
{
Directory.CreateDirectory("c:\temp\Eskimo\");
}
deRoot.RefreshCache();
DirectoryEntry deNewVDir =
deRoot.Children.Add("Eskimo",mSchema);
deNewVDir.Properties["Path"].Insert(0,"c:\temp\Eskimo\");
....
deNewVDir.Properties["AccessRead"][0] =true;
deNewVDir.Properties["AccessWrite"][0] = true;
deNewVDir.Properties["AccessExecute"][0] = true;
deNewVDir.Properties["AuthAnonymous"][0] = false;
deNewVDir.Properties["AuthBasic"][0] = false;
deNewVDir.Properties["AuthNTLM"][0] = true;
deNewVDir.Properties["ContentIndexed"][0] = false;
deNewVDir.Properties["EnableDirBrowsing"][0] = true;
...
deNewVDir.Invoke("AppCreate",true);
deNewVDir.CommitChanges();
deRoot.CommitChanges();
deNewVDir.Close();
deRoot.Close();
....
Now: in a windows application it works great! I have a DLL project and a
windows app test project and the web service accessing the DLL project.
In a web service I get the error listed above...