如何使用.NET在远程服务器上创建目录?两台服务器都在运行Windows Server 2003.我查看了system.IO.directory类和FtpWebRequest,它们似乎都不能满足我的需要。
如果没有现有方法,我应该能够形成VPN隧道,映射驱动器,并使用directory.copy,对吗?
更新 决定采用Rockinthesixstring的建议,并在我需要创建目录的服务器上创建一个Web服务。我构建了以下ASMX文件,在visual studio中编译它,并且能够从从ASMX文件“自动”生成的浏览器页面成功调用它
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
<System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://ttanet.com/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
Inherits System.Web.Services.WebService
<WebMethod()> _
'Here is where we invoke our exposed method'
Public Sub makeDir(ByVal dirName As String)
System.IO.Directory.CreateDirectory("C:/TransferTest/" & dirName)
End Sub
End Class
极好的建议 - 谢谢Rockin ......
我的问题的后半部分是调用它的最佳方式。我需要从VB.NET应用程序调用它。我试图从浏览器调用它,如:
http://localhost:60870/MakeDirectory.asmx/makeDir?dirName=testingFromURL
但它产生了:
Exception Details: System.InvalidOperationException: Request format is unrecognized for URL unexpectedly ending in '/makeDir'.
我计划循环并通过迭代发送WebRequestFactory.Create(urlForGetRequest)。我的网址结构方式有问题,有更好的方法吗?
答案 0 :(得分:1)
我建议在要创建目录的计算机上创建web service。然后从正在进行创建的计算机上调用Web服务。 Web服务可以使用System.IO.Directory.CreateDirectory
方法。
另一种方法是使用UNC路径直接创建目录。 (需要通过网络共享文件夹)