使用VB.NET在远程计算机上创建目录

时间:2010-02-17 00:47:36

标签: .net web-services

如何使用.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)。我的网址结构方式有问题,有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我建议在要创建目录的计算机上创建web service。然后从正在进行创建的计算机上调用Web服务。 Web服务可以使用System.IO.Directory.CreateDirectory方法。

另一种方法是使用UNC路径直接创建目录。 (需要通过网络共享文件夹)