在服务端建立Web数据源

要使用Web数据源,必须有一个服务端项目,此项目运行在服务器,用于向客户端提供Web数据源。
Web数据源的建立非常简单,如果不需要身份验证,只需一行代码就能完成Web数据源的建立工作。

设计步骤:

1、首先我们在服务端的AfterOpenProject事件中加上以下代码,用于开启Web服务:

HttpServer.Prefixes.Add("http://*/")
HttpServer
.WebPath = "d:\web"
HttpServer
.Start()

如果你的服务端项目仅用于提供数据源服务,那么第二行代码可以删除。

2、假定服务器已经安装了SQL Server,有一个名为Sample的数据源,我们现在建立一个数据源连接到这个数据库,使用生成器生成连接字符串的设置如下图:

生成的连接字符串为:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Sample;Data Source=.

如果你使用的是Access数据库,那么建立数据源的过程和以前没有区别,这里就不再赘述。

4、假定服务端建立的本地数据源的名称为"Orders",现在将HttpRequest事件代码设置为:

Dim Verified As Boolean
If
e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password") Then
   
'实际开发的时候,请改为根据用户表验证身份
   
Dim username As String  = e.PostValues("username")
    Dim password As String  = e.PostValues("password")
    If username =
"
张三" AndAlso password = "888" Then
        Verified  = True
    End
If

End
If
If
Verified = False Then
    e.AppendCookie("Error",
"
用户身份验证失败!") '通过Cookie返回错误信息.
   
Return
End
If
Select
Case e.Path
   
Case "DataServer.htm"
        e.AsDataServer("Orders"
'将一个本地数据源公开为Web数据源

End
Select

提示:

1、AsDataServer方法用于将本地数据源转为Web数据源,并对外公开,其参数为本地数据源名称。
2、
AsDataServer本身就是一个异步方法,可同时处理多个用户的访问请求,没有必要再次对其做异步处理。

至此我们的Web数据源就搭建完毕了,如果你的Web服务仅用于提供数据源,而且无需身份验证,那么可以将代码简化为一行:

e.AsDataServer("Orders")

服务器可以同时公开多个本地数据源,但是要注意区分路径,例如:

'省略的身份验证代码
Select
Case e.Path
   
Case "DataServer.htm"
        e.AsDataServer("Orders")

   
Case "Sales.htm"
        e.AsDataServer("Sales")

End
Select

 


本页地址:http://www.foxtable.com/mobilehelp/topics/283.htm