如何在vb.net中获取服务器本地驱动器路径?

如何在vb.net中获取服务器本地驱动器路径?,vb.net,Vb.net,这是c#的代码 上面的代码用于获取服务器上的驱动器c路径。 那么如何在vb.net中获取驱动器c路径呢?您是否尝试过: vault = System.Configuration.ConfigurationSettings.AppSettings("DocumentVault") 该代码到VB.NET的逐字翻译为: protected vault As String = System.Configuration.ConfigurationSettings.AppSettings("Documen

这是c#的代码

上面的代码用于获取服务器上的驱动器c路径。 那么如何在vb.net中获取驱动器c路径呢?

您是否尝试过:

vault = System.Configuration.ConfigurationSettings.AppSettings("DocumentVault")

该代码到VB.NET的逐字翻译为:

protected vault As String = System.Configuration.ConfigurationSettings.AppSettings("DocumentVault")
在web.config中,您需要相应的密钥:

<configuration>
       ....
     <appSettings>
       <add key="DocumentVault" value="C:\SomePath\SomeWhere\Else\"/>
     </appSettings>
    ....
</configuration>

....
....

但根据你的评论:

“我想从web应用的位置获取路径。但是如何在vb.net中实现?”

您需要映射应用程序根目录的路径:

protected vault As String = Server.MapPath("~\")
Trace.Write(vault) ' <-- Should return the physical root path of the web application
受保护的vault为String=Server.MapPath(“~\”)

正在从web.config文件获取密钥的Trace.Write(vault)–那么,是否要从web.config文件获取密钥?或者从web应用的位置获取路径?@RenarkLima,我想从web应用的位置获取路径。但是在vb.net中如何操作?如果我将appSettings放入winForm app.config中是否相同?但是我已经尝试过了,它无法访问驱动器C。@user2562841它在app.config中应该是相同的-是否返回了值?使用消息框或标签写出
vault
,看看您得到了什么。如果您正在获取所需的值,但没有权限,则这是另一个问题,并且运行应用程序/iis的帐户将需要对驱动器/文件夹具有正确的权限。我使用messagebox.show可以获取路径。但是,当我使用它将文件复制到tat路径时,路径无效。没有在该路径上创建文件夹。或者如何检查权限?因此代码正常工作,您拥有路径-应用程序根本没有写入路径的权限。如果右键单击目录,选择“属性”,然后选择“安全”,请确保应用程序运行所用的用户帐户具有“修改”访问权限。您还需要单独创建子文件夹。您可以通过使用该帐户登录到服务器/计算机并尝试创建文本文档来测试这一点。您可以浏览到该路径吗?或者应用程序运行的帐户可以在那里浏览吗?UNC应该可以使用,但是共享C$通常仅限于管理员帐户,因为它提供对计算机C驱动器的完全访问权限。也许可以尝试在“SomePath”或“某处”上创建一个共享,并映射到该共享。简而言之,您的代码是正确的,并按预期工作。现在它是逻辑访问权限,因此属于网络管理员的职权范围。最好使用与应用程序相同的凭据登录,然后查看是否可以访问上面的路径。
protected vault As String = Server.MapPath("~\")
Trace.Write(vault) ' <-- Should return the physical root path of the web application