收藏(用ASP.NET(VB版)创建WINDOWS2000SERVER站点 )

asp.net|server|window|创建|站点

用ASP.NET(VB)创建的WEB站点,我们的调用方式非常简单:
Dim test As New Class1()
test.CreateWebSit(webname,port, "D:\VB", "localhost")

下面是Class1的代码,该代码做的工作就是建立站点,如果有此站点的名称则自动覆盖(注意:本类需要引用Actice DS Type Library)
Public Class Class1

用localhost
    '===========================

    Function CreateWebSit(ByVal WWWSiteName As String, _
        ByVal WWWTCPPort As String, _
        ByVal WWWFilesPath As String, _
        ByVal ComputerName As String) As Boolean

        CreateWebSit = True
        Dim TCPPort() As Object
        '建立活动桌面'(IADS)对象。首先要在 VB 中的 'prject'菜单中的'references'中引'用 Active DS 'Type 'library 组件
        Dim WWWServer As ActiveDs.IADs
        Dim WWWService
        Dim WWWVdir, WWWVdir2, WWWVdirRes As ActiveDs.IADs
        Dim i As Integer
        Dim HandleSameCase As Boolean
        '取得W3SVC服务
        WWWService = GetObject("IIS://" & ComputerName & "/W3SVC")
        i = 1
        HandleSameCase = True
        On Error GoTo ErrWouldDo
        '在IIS中查找每一个WEB站点
        For Each WWWServer In WWWService
            WWWServer = Nothing
            WWWServer = GetObject("IIS://" & ComputerName & "/W3SVC/" & i)
            'Debug.Print WWWServer.ServerComment
            '如果在安装时系统中已经有了要加的站点,则要先删除干净
            If UCase(WWWServer.ServerComment) = UCase(WWWSiteName) Then
                WWWService.Delete("IISWebServer", i) '再删除
                Exit For
            End If
            ReDim TCPPort(1)
            TCPPort(0) = ""
            TCPPort = WWWServer.Serverbindings
            '如果端口已经有了则也要先删除
            If TCPPort(0) = ":" & WWWTCPPort & ":" Then
                WWWService.Delete("IISWebServer", i) '删除
            Else
                i = i + 1
            End If
        Next
        HandleSameCase = False
CreateSite:
        'MsgBox I
        WWWServer = WWWService.Create("IISWebServer", i)     '创建新站点
        WWWServer.ServerComment = WWWSiteName '设置站点名
        WWWServer.Serverbindings = ":" & WWWTCPPort & ":" '设置端口号
        WWWServer.DefaultDoc = "default.asp,index.asp,default.htm,index.htm" '设置默认启动文件
        WWWServer.AccessScript = True '设置权限
        WWWServer.AccessRead = True
        WWWServer.SetInfo()

        '创建设置主目录
        WWWServer = GetObject("IIS://" & ComputerName & "/W3SVC/" & i)
        WWWVdir = WWWServer.Create("IISWebVirtualDir", "root")
        WWWVdir.Path = WWWFilesPath '主目录的实际磁盘路径
        WWWVdir.SetInfo()
        WWWVdir.AppCreate(True)
        WWWServer.Start() '启动新站点

        '建立虚拟目录
        'Set WWWVdirRes = WWWVdir.Create("IISWebVirtualDir", "Resource") '创建虚拟目录
        'WWWVdirRes.Path = WWWFilesPath + "\Resource"
        'WWWVdirRes.AccessRead = True
        'WWWVdirRes.AccessWrite = True
        'WWWVdirRes.SetInfo

        '下面为自定义IIS Web Server的错误信息,等发生404错误时候指定调用网站主目录下的404.htm页面显示

        WWWServer.HttpErrors = "404,0,FILE," + WWWFilesPath + "\404.htm"
        WWWServer.SetInfo()

        CreateWebSit = True

        Exit Function
ErrWouldDo:
        'MsgBox Err.Description
        If (HandleSameCase = True) Then
            GoTo CreateSite
        Else
            MsgBox(Err.Description)
            CreateWebSit = False
            Exit Function
        End If
    End Function

    REM 建立虚拟目录程序
    'ComputerName       服务器名(可以为localhost)
    'DirName            要建立的虚拟目录名
    'LinkAddr           该虚拟目录的真实路径
    'WWWSiteName        站点名称
    Function CreateVirtualDir(ByVal ComputerName As String, _
            ByVal DirName As String, ByVal LinkAddr As String, _
            ByVal WWWSiteName As String) As Boolean

        Dim i As Integer
        CreateVirtualDir = True
        '取得W3SVC服务
        Dim WWWServer As ActiveDs.IADs
        Dim WWWService
        WWWService = GetObject("IIS://" & ComputerName & "/W3SVC")
        i = 1
        Dim HandleSameCase As Boolean
        HandleSameCase = True
        Dim temp As Boolean
        temp = False
        For Each WWWServer In WWWService
            WWWServer = Nothing
            WWWServer = GetObject("IIS://" & ComputerName & "/W3SVC/" & i)

            If UCase(WWWServer.ServerComment) = UCase(WWWSiteName) Then
                temp = True
                Exit For
            End If

            i = i + 1
        Next

        If Not temp Then
            CreateVirtualDir = False
            Exit Function
        End If

        Dim WWWVirtualDir, WWWIF As ActiveDs.IADs

        WWWServer = GetObject("IIS://" & ComputerName & "/W3SVC/" & i & "/Root")

        REM 检查是否该站点中已有该虚拟目录
        On Error GoTo ErrHandle
        WWWIF = GetObject("IIS://" & ComputerName & "/W3SVC/" & i & "/Root/" & DirName)
        REM 如果有,则返回False
        If WWWIF.Name <> "" Then
            CreateVirtualDir = False
            Exit Function
        End If

ErrHandle:
        'Debug.Print Err.Number
        If Err.Number = -2147024893 Then
            Err.Clear()
            REM 如果是因为没有找到该虚拟目录出错的话则进行CreateVirtualDir建立虚拟目录
            GoTo ReturnCreate
        Else
            CreateVirtualDir = False
            Exit Function
        End If

        REM 建立虚拟目录
ReturnCreate:
        WWWVirtualDir = WWWServer.Create("IISWebVirtualDir", DirName)
        WWWVirtualDir.Path = LinkAddr
        WWWVirtualDir.AccessRead = True
        WWWVirtualDir.AccessScript = True
        WWWVirtualDir.AppCreate(True)
        WWWVirtualDir.SetInfo()

        CreateVirtualDir = True
    End Function

    Function GetDBConnStr(ByVal DBName As String) As String
        Select Case DBName
            Case "friend"
                GetDBConnStr = CStr(GetSetting("HostTask", "DBini", "ConnStr"))
            Case "wuye"
                GetDBConnStr = Replace$(CStr(GetSetting("HostTask", "DBini", "ConnStr")), "friend", "wuye")
            Case Else
                GetDBConnStr = CStr(GetSetting("HostTask", "DBini", "ConnStr"))
        End Select
    End Function

End Class

时间: 2024-10-03 16:59:27

收藏(用ASP.NET(VB版)创建WINDOWS2000SERVER站点 )的相关文章

用ASP.NET(VB版)创建WINDOWS 2000 SERVER站点

asp.net|server|window|创建|站点 用ASP.NET(VB)创建的WEB站点,我们的调用方式非常简单:Dim test As New Class1()test.CreateWebSit(webname,port, "D:\VB", "localhost") 下面是Class1的代码,该代码做的工作就是建立站点,如果有此站点的名称则自动覆盖(注意:本类需要引用Actice DS Type Library)Public Class Class1 用l

手把手教你使用VB来创建ASP组件

创建 一.什么是组件 组件是包含可以更改的数据形式的代码的对象,是可用代码的封装,这些代码可以用来执行应用程序的一些功能,如从数据库中检索某些信息等功能.现在经常听人说起COM,其使它的意思是组件对象模型(Component Object Model),是由微软开发的可以在Windows平台上执行的对象模型,COM定义了组件之间的交互能力.为COM编写的组件可以重复使用,并不依赖于编写所用的语言,比如说,一个组件可以用VB,VC++甚至是Java来编写,总之,只要遵守COM规范就可以了. 二.为

实战ASP(7):使用ASP、VB和XML建立运行于互联网上的应用程序(上)

xml|程序|互联网|xml|互联网 使用ASP.VB和XML建立运行于互联网上的应用程序(1)     在个人电脑上使用单机版应用软件的时代很快就要过去了,现在大部分的应用程序都开发出网络版或大都需要共享网络上丰富的数据资源.我们虽然写了很长时间基于客户端/服务器的应用程序,但是这些程序大部分只是运行在小型的局域网内部.然而,有很多客观的原因要求我们要修改这些程序以使它们能够运行在一个企业的内部网甚至是国际互联网. 是什么原因迫使我们做呢?首先,随着一个企业的规模逐渐扩大,公司可能会跨地区甚至

实战ASP(8):使用ASP、VB和XML建立运行于互联网上的应用程序(下)

xml|程序|互联网|xml|互联网 使用ASP.VB和XML建立运行于互联网上的应用程序(2)     在实际的编程过程中,你们应当使用一些方法使应用程序更加有高效性.你可以把ASP中的关于取得数据的代码端搬到一个COM应用程序中去然后创建一个XSLT变换来显示返回的数据.好,我不多说了,现在你所要做的就是试一试吧! Option Explicit Private RCommands As Recordset Private RCustomers As Recordset Private RC

ASP、VB和XML建互联网应用程序1

用ASP.VB和XML建立互联网应用程序(1) 在个人电脑上使用单机版应用软件的时代很快就要过去了,现在大部分的应用程序都开发出网络版或大都需要共享网络上丰富的数据资源.我们虽然写了很长时间基于客户端/服务器的应用程序,但是这些程序大部分只是运行在小型的局域网内部.然而,有很多客观的原因要求我们要修改这些程序以使它们能够运行在一个企业的内部网甚至是国际互联网. 是什么原因迫使我们做呢?首先,随着一个企业的规模逐渐扩大,公司可能会跨地区甚至跨国经营,每个分公司的员工的数量也会逐年增多,这些在外地的

如何用VB.Net创建一个三层的数据库应用程序(转贴

程序|创建|数据|数据库 1. 概论: 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: 该结构分三个层次:表示层.业务层.数据层. 数据层:代表物理数据库. 业务层:负责数据层与表示层之间的数据传输. 表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

如何用VB.Net创建一个三层的数据库应用程序

程序|创建|数据|数据库 1. 概论: 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: 该结构分三个层次:表示层.业务层.数据层. 数据层:代表物理数据库. 业务层:负责数据层与表示层之间的数据传输. 表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

用ASP.Net MVC快速创建一个电影数据库应用程

Stephen Walther 从头开始到结束建立了整个数据驱动ASP.NET MVC应用程序.这个教程对于那些刚刚接 触ASP.NET MVC框架以及想要获得一种建立ASP.NET MVC应用程序的过程的新人是一个很好的介绍. 这 个教程的目的就是给你一种"它会是什么样子"去创建ASP.NET MVC应用程序的理念.在这一课中,从开始到结 束,我将直接建立一个完整ASP.NET MVC应用程序.我向你展示如何建立一个简单的数据驱动应用程序,演示如 何列出,创建和编辑数据库记录. 为简

利用C#创建IIS站点并设置.NET Framework版本为ASP.NET 2.0的方法(一)

IIS 6.0以后使用MetaBase.xml存储IIS信息,因此,可以直接修改这个文件即可. 代码如下:很显然,这种方法比较复杂,不直观,而且需要停止IIS,影响现有网站. /// <summary> /// 本方法创建一个站点(当然,创建虚拟目录也完全没有任何问题,做法类似),并设置IIS中ASP.NET版本为2.0 /// </summary> /// <param name="sender"></param> /// <pa