Vault_CacheMember_Repository_689544213 is denied.
Posted: Thu Aug 05, 2010 8:20 pm
I have a COM (MyCOM) that is written with C# and call the Vault API.
And there are two applications that will call the COM,
1 One is windows client application , written with C++ , and will call the COM with the way (#import "MyCOM.tlb" # using namespace MyCOM; )
2 Another is IIS application, written with C++ , call the COM with the same way, and run under IIS
When on one machine two Windows client applications run at the same time and call Vault API function SetActiveRepositoryID , they works well.
When on one machine two users open the IIS's page which will also call the Vault API function SetActiveRepositoryID from IE, they works well.
But When the IIS application starts first , and then run window client application , the windows client application will not work and throw following exception.
When the windows client application start first ,then run IIS application, the IIS application can't work and throw following exception too.
Following is the exception information :
System.UnauthorizedAccessException: Access to the path 'Vault_CacheMember_Repository_689544213' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Threading.Mutex.<>c__DisplayClass3.<.ctor>b__0(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean& createdNew, MutexSecurity mutexSecurity)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name)
at VaultLib.SystemMutex..ctor(String name)
at VaultClientOperationsLib.CacheMember..ctor(String folder)
at VaultClientOperationsLib.CacheMember_Repository..ctor(String folder)
at VaultClientOperationsLib.TreeCache.Load()
at VaultClientOperationsLib.TreeCache..ctor(Int32 repID, String username, String uniqueRepositoryID, String localStoreBasePath, ClientInstance ci)
at VaultClientOperationsLib.ClientInstance.SetActiveRepositoryID(Int32 id, String username, String uniqueRepositoryID, Boolean doRefresh, Boolean updateKnownChangesAll)
There are related issues links
http://support.sourcegear.com/viewtopic ... 95&start=0
http://support.sourcegear.com/viewtopic ... 30&t=10951
How can I do with that ?
Thank you very much.
And there are two applications that will call the COM,
1 One is windows client application , written with C++ , and will call the COM with the way (#import "MyCOM.tlb" # using namespace MyCOM; )
2 Another is IIS application, written with C++ , call the COM with the same way, and run under IIS
When on one machine two Windows client applications run at the same time and call Vault API function SetActiveRepositoryID , they works well.
When on one machine two users open the IIS's page which will also call the Vault API function SetActiveRepositoryID from IE, they works well.
But When the IIS application starts first , and then run window client application , the windows client application will not work and throw following exception.
When the windows client application start first ,then run IIS application, the IIS application can't work and throw following exception too.
Following is the exception information :
System.UnauthorizedAccessException: Access to the path 'Vault_CacheMember_Repository_689544213' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Threading.Mutex.<>c__DisplayClass3.<.ctor>b__0(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean& createdNew, MutexSecurity mutexSecurity)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name)
at VaultLib.SystemMutex..ctor(String name)
at VaultClientOperationsLib.CacheMember..ctor(String folder)
at VaultClientOperationsLib.CacheMember_Repository..ctor(String folder)
at VaultClientOperationsLib.TreeCache.Load()
at VaultClientOperationsLib.TreeCache..ctor(Int32 repID, String username, String uniqueRepositoryID, String localStoreBasePath, ClientInstance ci)
at VaultClientOperationsLib.ClientInstance.SetActiveRepositoryID(Int32 id, String username, String uniqueRepositoryID, Boolean doRefresh, Boolean updateKnownChangesAll)
There are related issues links
http://support.sourcegear.com/viewtopic ... 95&start=0
http://support.sourcegear.com/viewtopic ... 30&t=10951
How can I do with that ?
Thank you very much.