我用c#写了一个组件CRVS_VbAuthCheck,并在其中远程调用另一个组件CRVS_RegisterClassLibrary,CRVS_VbAuthCheck的代码如下:
using System;
using System.Data;
using System.Data.SqlClient;namespace CRVS_VbAuthCheck
{
/// <summary>
/// Summary description for Class1.
/// </summary>
public class MainClass
{
public MainClass()
{
//
// TODO: Add constructor logic here
//
}                   public string GetConnectionString(string ServerName,string ServerPort)
{
//
//服务端验证, 验证服务端是否已注册
CRVS_RegisterClassLibrary.RegInfo obj;
string Conn = "";
try
{
string strUrl = "http://";
strUrl += ServerName + ":" + ServerPort;
strUrl += "/CRVS_RegisterClassLibrary";
obj = (CRVS_RegisterClassLibrary.RegInfo)Activator.GetObject(typeof(CRVS_RegisterClassLibrary.RegInfo), strUrl);
//获取数据库连接字符串
string tmpCon = obj.GetConnString();
if(tmpCon == "")
{
Conn = "";
}
else
{
Conn = obj.DecryptCode(tmpCon,0,"ComResource_VS");
}
                                     obj = null;
                                     return Conn;
}
catch
{}
}
           }
}编译时选中“Register for COM interop”,生成的dll文件时它会自动注册,之后在vb工程中添加引用成功,但在程序中调用时出错,提示“自动化错误”!!!(其中CRVS_RegisterClassLibrary也是用c#编写的,因为是在.net环境中调用,并没有注册com接口)请各位高手指教!