0

全部,

我有一个程序可以读取串行端口数据并执行一些操作。

这是执行此操作的一小段代码。

private void SerialDataReceivedEventHandler(object sender, SerialDataReceivedEventArgs e)
{
    try
    {


        SerialPort sp = (SerialPort)sender;
        Thread.Sleep(100);
        sCommdata = sp.ReadExisting();
        string[] splitter = new string[2];
        splitter = sCommdata.Split('\r');
        string switchMaker = splitter[0].Trim();
        switchMaker = switchMaker.Substring(0, 3);


        Dispatcher.Invoke(new UpdateKiosk(Reintialise), DispatcherPriority.Send, sCommdata);

    }
    catch (Exception ex)
    {
        //log data goes here
    }
}

应用程序将在每次使用时自动重置,除非有人双击公司徽标并提供应用程序密码。输入正确的密码后,应用程序将完全退出。现在,我在 WPF app.config 中包含了以下代码,用于存储应用程序密码。这是 XML 代码。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
     <add key ="ApplicationPassword" value ="xxxxxxx"/> 
  </appSettings>
</Configuration>

一旦我添加了上面的代码,下面的代码就会被执行,但是需要通知的方法(重新初始化)没有收到任何通知。

  Dispatcher.Invoke (new UpdateKiosk(Reintialise),DispatcherPriority.Send, sCommdata);

Reinitialise 方法通过调用 Web 服务方法对应用程序进行所有初始设置。

有什么建议吗?

谢谢

4

1 回答 1

0

我建议您使用此代码和配置

<applicationSettings>
    <WpfApplication1.Properties.Settings>
        <setting name="ApplicationPassword" serializeAs="String">
            <value>xxxxxxx</value>
        </setting>
    </WpfApplication1.Properties.Settings>
</applicationSettings>

并获得价值

var result  = WpfApplication1.Properties.Settings.Default.ApplicationPassword.ToString()
于 2012-09-03T14:27:27.260 回答