プログラムで動的にサーバーアドレスを設定してデータベースに接続しようとすると、指定したアドレスが正しい場合は正常に動作し、そうでない場合は正常に動作するという問題があります。その後、このアドレスを変更したいのですが、コードで変更してデータベースに再度接続しようとしても、古い構成が記憶されたままで接続できません。変更するにはどうすればよいですか?
私は次のように構成を設定しました:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement element in xmlDoc.DocumentElement)
{
if (element.Name.Equals("ideablade.configuration"))
{
foreach (XmlNode ele in element.ChildNodes)
{
if (ele.Name == "objectServer")
{
var node = ele;
node.Attributes["remoteBaseURL"].Value = remoteBaseURL;
node.Attributes["serverPort"].Value = serverPort;
node.Attributes["serviceName"].Value = serviceName;
}
}
}
}
xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
ConfigurationManager.RefreshSection("ideablade.configuration");
そして、私はこのように自分のデータベースに接続しようとします
if (BeczkaModel!= null)
{
BeczkaModel.Disconnect();
BeczkaModel= null;
}
IdeaBladeConfig.Instance.ObjectServer.RemoteBaseUrl = remoteBaseURL;
IdeaBladeConfig.Instance.ObjectServer.ServerPort = (int)double.Parse(serverPort);
IdeaBladeConfig.Instance.ObjectServer.ServiceName = serviceName;
IdeaBladeConfig.Instance.ObjectServer.ClientSettings.IsDistributed=true;
BeczkaModel= new BeczkaContainer();
BeczkaModel.AuthorizedThreadId = null;
BeczkaModel.Connect();