我在c#中使用命令行运行一个程序,这个程序产生一些日志,而它运行时需要在它发生变化时显示这些日志.我写了下面的代码,但它显示了进程被杀死后的所有日志,并且在运行期间我的程序没有响应.我该怎么解决?
问候
ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "C:\\server.py");
Process proc = new Process();
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
procStartInfo.UseShellExecute = false;
procStartInfo.RedirectStandardOutput = true;
//procStartInfo.CreateNoWindow = true;
proc.StartInfo = procStartInfo;
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit(300);
LogstextBox.Text = output;
Run Code Online (Sandbox Code Playgroud)
编辑:
嗯,我试图使用,OutputDataReceived但它没有显示任何结果,这里是更改的代码:
{
//processCaller.FileName = @"ping";
//processCaller.Arguments = "4.2.2.4 -t"; this is working
processCaller.FileName = @"cmd.exe";
processCaller.Arguments = "/c c:\\server.py"; //this is not working
processCaller.StdErrReceived += new DataReceivedHandler(writeStreamInfo);
processCaller.StdOutReceived += new DataReceivedHandler(writeStreamInfo);
processCaller.Completed += new EventHandler(processCompletedOrCanceled);
processCaller.Cancelled += …Run Code Online (Sandbox Code Playgroud) 我读到Android >=4不再包含VPN连接配置文件(例如:),L2TP/IPSec并且只提供了一个基本处理程序VpnService.
现在我们必须自己实现一切,是否有任何提供基本L2TP/IPSec通信代码的java库?
我希望能够使用此库,将其与VPN服务集成并在Android应用程序中使用它.
在此先感谢大家.
在我的代码中,我必须将Json序列化一个CookieCollection对象并将其作为字符串传递,为实现这一点我喜欢这样:
var json = Newtonsoft.Json.JsonConvert.SerializeObject(resp.Cookies);
Run Code Online (Sandbox Code Playgroud)
导致以下json
[
{
"Comment": "",
"CommentUri": null,
"HttpOnly": false,
"Discard": false,
"Domain": "www.site.com",
"Expired": true,
"Expires": "1970-01-01T03:30:01+03:30",
"Name": "version",
"Path": "/",
"Port": "",
"Secure": false,
"TimeStamp": "2015-06-01T12:19:46.3293119+04:30",
"Value": "deleted",
"Version": 0
},
{
"Comment": "",
"CommentUri": null,
"HttpOnly": false,
"Discard": false,
"Domain": ".site.com",
"Expired": false,
"Expires": "2015-07-31T12:19:48+04:30",
"Name": "ADS_7",
"Path": "/",
"Port": "",
"Secure": false,
"TimeStamp": "2015-06-01T12:19:46.3449217+04:30",
"Value": "0",
"Version": 0
}
]
Run Code Online (Sandbox Code Playgroud)
为了反序列化这个json我想做这样的事情:
var cookies = Newtonsoft.Json.JsonConvert.DeserializeObject<CookieCollection>(json);
Run Code Online (Sandbox Code Playgroud)
但它失败并提出JsonSerializationException说
无法创建和填充列表类型System.Net.CookieCollection.路径'',第1行,第1位.
所以我将我的代码更改为以下内容并立即开始工作
var tmpcookies …Run Code Online (Sandbox Code Playgroud) c# serialization json.net httpcookiecollection json-deserialization
在 Firefox 中,可以在开发人员工具的 Inspect Element 中查看与每个元素关联的事件。

我想以编程方式获得与之关联的元素和事件列表。最好使用硒+蟒蛇。
我知道getEventListenersChrome 的开发者工具中有可以使用的功能,但在 Selenium 中无法访问。
我经历了这个问题中提供的大多数解决方案,但没有找到解决我的问题的方法。
我的最终目标是迭代给定页面的 throw html 元素并执行每个元素的事件。
python selenium google-chrome-devtools puppeteer chrome-devtools-protocol
现在我可以使用以下代码来访问我的c#类型,IronPython如下所示
import clr
clr.AddReference('myDLL.dll')
import myType
obj = myType()
Run Code Online (Sandbox Code Playgroud)
但是我不希望脚本开发人员clr.AddReference('myDLL.dll')在Python源代码中使用行,并将myDLL.dll(和/或c#类)直接c#注入ScriptEngine,因此以前的代码类似于:
import myType
obj = myType()
Run Code Online (Sandbox Code Playgroud)
我该怎么做到这一点?
今天我正在努力学习我的部分代码,从文件中读取一些数据并将它们作为属性添加到对象中(我知道如何在没有这个麻烦的情况下添加/读取文件中的对象,但是想要这样做)如下:
文件是这样的:
111,john,23.1
222,jack,22.5
234,adam,12.8
Run Code Online (Sandbox Code Playgroud)
我试图使用以下内容读取此文件:
public ArrayList<Staff> LoadAllStaffs(){
ArrayList<Staff> staffs = new ArrayList<Staff>();
File file = new File(stafffile);
Staff tmpstaff = new Staff();
try {
BufferedReader inputfile = new BufferedReader(new FileReader(stafffile));
String tmp;
while((tmp = inputfile.readLine()) != null){
StringTokenizer st = new StringTokenizer(tmp , ",");
tmpstaff.setID(Integer.valueOf(st.nextToken()));
tmpstaff.setFirstName(st.nextToken());
tmpstaff.setSalary(Double.valueOf(st.nextToken()));
staffs.add(tmpstaff);
}
}
catch (IOException e) {
}
return staffs;
}
Run Code Online (Sandbox Code Playgroud)
使用println从返回的arraylist中显示此输出:
234,adam,12.8
234,adam,12.8
234,adam,12.8
Run Code Online (Sandbox Code Playgroud)
我只是移动了printlnwhile循环内部,它显示了它应该是什么.
为什么会这样?我在这里读到 - 在循环内部或外部定义变量(好吧,这里是一个对象)没有任何区别.