在服务端建立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