Example #1
0
        // 获得102相关信息
        public int Get102Info(
            string strServerName,
            string strPublisherNumber,
            out string str102,
            out string strError)
        {
            strError = "";
            str102 = "";

            // 获得server url
            dp2Server server = this.dp2ResTree1.Servers.GetServerByName(strServerName);
            if (server == null)
            {
                strError = "名为 '" + strServerName + "' 的服务器在检索窗中尚未定义...";
                return -1;
            }
            string strServerUrl = server.Url;

            stop.OnStop += new StopEventHandler(this.DoStop);
            stop.Initial("正在获得102信息 ...");
            stop.BeginLoop();

            try
            {
                string strDbName = "";

                // 获得publisher等实用库的库名
                int nRet = GetUtilDbName(
                    stop,
                    strServerName,
                    strServerUrl,
                    "publisher",
                    out strDbName,
                    out strError);
                if (nRet == -1)
                    return -1;

                if (String.IsNullOrEmpty(strDbName) == true)
                {
                    strError = "尚未定义publisher类型的实用库名";
                    return -1;
                }

                this.Channel = this.Channels.GetChannel(strServerUrl);


                string strAction = "";

                long lRet = Channel.GetUtilInfo(
                    stop,
                    strAction,
                    strDbName,
                    "ISBN",
                    strPublisherNumber,
                    "v102",
                    out str102,
                    out strError);
                if (lRet == -1)
                    return -1;

                if (lRet == 0)
                    return 0;

            }
            finally
            {
                stop.EndLoop();
                stop.OnStop -= new StopEventHandler(this.DoStop);
                stop.Initial("");
            }


            return 1;
        }