关于使用Exchange开发三层应用的问题,请大家帮我看看,可能是什么地方有误!?
用VB做中间层组件,(ACTIVEX DLL工程)现在有一段代码如下:
该project的名称是wssdll
其中一个class Modules的名称是wsstest
GUID:wssdll.wsstest
引用:Microsoft CDO for Exchange 2000
Microsoft Activex Data Object 2.6
(我机器上有ADO2.7,我没用,换成2.7也是下面的问题!)
Public Function GetRs() As Recordset
Dim rs As New ADODB.Recordset
Dim objconn As New ADODB.Connection
strMailUrl = "file://./backofficestorage/" + DomainName + "/mbx/" + UserName + "/收件箱/"
objconn.Provider = "ExOLEDB.DataSource"
objconn.Open strMailUrl
strsql = "SELECT ""DAV:displayname"", "
strsql = strsql + " ""DAV:href"" "
strsql = strsql + " FROM scope('shallow traversal of """ & strMailUrl & """') "
rs.Open strsql, objconn, 1, 1
Set GetRs = rs '注意这里
End Function
另外asp端调用的代码如下:
Set wsscom=Server.CreateObject("wssdll.wsstest")
Set Srs=wsscom.GetRs
Response.Write Srs.recordcount
但是在asp端无法得到GetRs方法返回的rs集合,提示错误
err.description=缺少对象
err.number=缺少对象424
但是这个DLL在VB中用一个standard exe工程却可以成功调用,并返回正确的rs集合
用asp无法得到VB中间件返回的rs集合,用vb自己则可以得到。
不知道这是什么问题,请大家帮忙,看看!在此表示感谢!