基于WCF的远端打开进程和删除文件

    技术2024-10-21  22

    1. 界面设计,三个Textbox接受文件名和参数,两个button,两个lable显示是否成功 2. 接口中启动进程和删除文件的方法

    public interface IService1 { [OperationContract] bool StartProcess(string fileName, string processName); [OperationContract] bool DeleteFile(string filePath); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服务操作 }

    3. 实现启动进程方法

    public bool StartProcess(string fileName, string processName) { try { Process myprocess = new Process(); myprocess.StartInfo.FileName = fileName; myprocess.StartInfo.Arguments = processName; myprocess.StartInfo.WindowStyle = ProcessWindowStyle.Normal; myprocess.Start(); return true; } catch (Exception) { return false; } }

    4. 实现删除文件的方法

    public bool DeleteFile(String filePath) { if (File.Exists(@filePath)) { try { File.Delete(@filePath); return true; } catch (Exception) { return false; } } else return false; }

    5.点击事件,用lable显示是否成功

    private void button_Click(object sender, RoutedEventArgs e) { Service1Client client1 = new Service1Client(); bool flag1 = client1.StartProcess(textbox1.Text,textbox2.Text); if (flag1) { lable1.Content = "进程启动成功"; } else lable1.Content = "进程启动失败"; } private void button2_Click(object sender, RoutedEventArgs e) { Service1Client client2 = new Service1Client(); bool flag2 = client2.DeleteFile(textbox3.Text); if (flag2) { lable2.Content = "删除成功"; } else lable2.Content = "删除失败"; }

    结果: 问题讨论: 1.提示:结点在侦听可以接受消息的 XXXXXX 这通常是由于不正确的地址或者 SOAP 操作导致的。方法:更新服务引用解决。

    2.仅输入无法判断文件是否存在。方法:在文件路径前加@解决。

    Processed: 0.010, SQL: 9