I need to add some document management functionality into my software. Documents will be grouped by company name and project name.
The folders need to be accessed by the application using the id numbers of clients/projects, but also easily browsed by the end user using windows explorer.
Clients and Projects will be stored in a database.
I am thinking of having the software create the folders using the friendly name and then using a hidden share with the id number for the software to access the files.
The folder structure would be something like this
--Com开发者_JAVA技巧pany 1 (Company-1234$) -- Project 101 (Project-101$) -- Project 102 (Project-102$) -- Project 103 (Project-103$) -- Company 2 (Company-5678$) -- Project 201 (Project-201$) -- Project 202 (Project-202$) -- Project 203 (Project-203$)
So in the example above there would be a company called "Company 1" with a ID of "1234".
When browsing the folders using windows explorer the user would see\\ServerName\Documents\Company1
and you could also access the same folder from
\\ServerName\Documents\Company-1234$
By using the hidden share, if the company name changes or its renamed for some reason it doesn't break the link in the application because its using the hidden shared based on the ID that never changes.
Will having hundreds (maybe thousands) or hidden shares on a server provide a huge performance hit?
Does any one have any suggestions or alternatives to provide this feature?
I think the solution you outlined is generally sound for a small number of shares but the administration of 1000s of shares is not trivial so if it gets this big you should be looking at a database solution I would say.
You will always be governed by one factor with regards to performance. Whether that be network speed/capacity, speed/seek time of hard drive on the server, etc etc.
精彩评论