本文整理汇总了C#中LibraryChannel.GetSystemParameter方法的典型用法代码示例。如果您正苦于以下问题:C# LibraryChannel.GetSystemParameter方法的具体用法?C# LibraryChannel.GetSystemParameter怎么用?C# LibraryChannel.GetSystemParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LibraryChannel
的用法示例。
在下文中一共展示了LibraryChannel.GetSystemParameter方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetRemoteBiblioDbNames
internal static int GetRemoteBiblioDbNames(
string strUrl,
string strUserName,
string strPassword,
out List<string> dbnames,
out string strError)
{
strError = "";
dbnames = new List<string>();
string strValue = "";
LibraryChannel channel = new LibraryChannel();
channel.Url = strUrl;
try
{
long lRet = channel.Login(strUserName,
strPassword,
"type=worker,client=dp2circulation|" + Program.ClientVersion,
out strError);
if (lRet != 1)
{
strError = "对服务器 '" + channel.Url + "' 以用户 '" + strUserName + "' 进行登录时发生错误: " + strError;
return -1;
}
lRet = channel.GetSystemParameter(null,
"system",
"biblioDbGroup",
out strValue,
out strError);
if (lRet == -1)
{
strError = "针对服务器 " + channel.Url + " 获得书目库信息过程发生错误:" + strError;
return -1;
}
}
finally
{
channel.Close();
}
{
// 解析 XML
XmlDocument dom = new XmlDocument();
dom.LoadXml("<root />");
try
{
dom.DocumentElement.InnerXml = strValue;
}
catch (Exception ex)
{
strError = "category=system,name=biblioDbGroup 所返回的 XML 片段在装入 InnerXml 时出错: " + ex.Message;
return -1;
}
XmlNodeList nodes = dom.DocumentElement.SelectNodes("database");
foreach (XmlNode node in nodes)
{
string strDbName = DomUtil.GetAttr(node, "biblioDbName");
dbnames.Add(strDbName);
}
}
return 0;
}
示例2: button_test_channelAttack_Click
private void button_test_channelAttack_Click(object sender, EventArgs e)
{
_stop = new DigitalPlatform.Stop();
_stop.Register(this.MainForm.stopManager, true); // 和容器关联
_stop.OnStop += new StopEventHandler(this.DoStop);
_stop.Style = StopStyle.EnableHalfStop;
_stop.Initial("正在测试耗费通道 ...");
_stop.BeginLoop();
this.button_test_channelAttack.Enabled = false;
this.numericUpDown_test_tryChannelCount.Enabled = false;
try
{
for (int i = 0; i < this.numericUpDown_test_tryChannelCount.Value; i++ )
{
Application.DoEvents();
if (_stop != null && _stop.State != 0)
break;
LibraryChannel channel = new LibraryChannel();
channel.Url = this.MainForm.LibraryServerUrl;
channel.BeforeLogin -= new DigitalPlatform.CirculationClient.BeforeLoginEventHandle(Channel_BeforeLogin);
channel.BeforeLogin += new DigitalPlatform.CirculationClient.BeforeLoginEventHandle(Channel_BeforeLogin);
string strValue = "";
string strError = "";
long lRet = channel.GetSystemParameter(_stop,
"library",
"name",
out strValue,
out strError);
#if NO
if (lRet == -1)
{
if (channel.ErrorCode == DigitalPlatform.CirculationClient.localhost.ErrorCode.OutofSession)
break;
}
#endif
_stop.SetMessage(i.ToString());
}
}
finally
{
this.numericUpDown_test_tryChannelCount.Enabled = true;
this.button_test_channelAttack.Enabled = true;
_stop.EndLoop();
_stop.OnStop -= new StopEventHandler(this.DoStop);
_stop.Initial("");
if (_stop != null) // 脱离关联
{
_stop.Unregister(); // 和容器关联
_stop = null;
}
}
}
示例3: GetLibraryDataDir
// 获得 dp2Library 数据目录
int GetLibraryDataDir(out string strDataDir, out string strError)
{
strError = "";
strDataDir = "";
if (this.textBox_dp2LibraryUrl.Text == "")
{
strError = "尚未指定 dp2Library 服务器 URL";
return -1;
}
if (this.textBox_manageUserName.Text == "")
{
strError = "尚未指定代理帐户的用户名";
return -1;
}
if (this.textBox_managePassword.Text != this.textBox_confirmManagePassword.Text)
{
strError = "代理帐户 密码 和 再次输入密码 不一致。请重新输入。";
return -1;
}
using (LibraryChannel channel = new LibraryChannel())
{
channel.Url = this.textBox_dp2LibraryUrl.Text;
// Debug.Assert(false, "");
string strParameters = "location=#setup,type=worker,client=dp2OPAC|0.01"; // 2016/4/26 加上 0.01 部分
long nRet = channel.Login(this.textBox_manageUserName.Text,
this.textBox_managePassword.Text,
strParameters,
out strError);
if (nRet == -1)
{
strError = "以用户名 '" + this.textBox_manageUserName.Text + "' 和密码登录失败: " + strError;
return -1;
}
try
{
if (nRet == 0 || StringUtil.IsInList("getsystemparameter", channel.Rights) == false)
{
channel.BeforeLogin -= new BeforeLoginEventHandle(channel_BeforeLogin);
channel.BeforeLogin += new BeforeLoginEventHandle(channel_BeforeLogin);
strError = "为获取 dp2Library 数据目录配置信息, 请用超级用户身份登录。";
nRet = channel.DoNotLogin(ref strError);
if (nRet == -1 || nRet == 0)
{
strError = "以超级用户身份登录失败: " + strError + "\r\n\r\n因此无法获取 dp2Library 数据目录配置信息";
return -1;
}
}
nRet = channel.GetSystemParameter(
null,
"cfgs",
"getDataDir",
out strDataDir,
out strError);
if (nRet == -1)
return -1;
}
finally
{
channel.Logout(out strError);
}
return 0;
}
}
示例4: GetDatabaseDef
// 获得 dp2library <virtualDatabases> 数据库定义
// return:
// -1 error
// 0 成功
static int GetDatabaseDef(
string strLibraryWsUrl,
string strUserName,
string strPassword,
out string strXml,
out string strError)
{
strError = "";
strXml = "";
using (LibraryChannel Channel = new LibraryChannel())
{
Channel.Url = strLibraryWsUrl;
// return:
// -1 error
// 0 登录未成功
// 1 登录成功
long lRet = Channel.Login(strUserName,
strPassword,
"location=z39.50 server,type=worker,client=dp2ZServer|0.01",
out strError);
if (lRet == -1)
return -1;
if (lRet == 0)
{
strError = "登录未成功:" + strError;
return -1;
}
lRet = Channel.GetSystemParameter(
null,
"opac",
"databases",
out strXml,
out strError);
if (lRet == -1)
return -1;
return 0;
}
}