我最近得到了这个例外,我不明白为什么。 2天前一切都很好,我完全不知道现在发生了什么。 现在我知道这是空的例外,但是再次 - 不明白为什么。它出现在"使用(var stream = service.Oneshot(oneshotQuery,outArgs))"。 service.Oneshot既不是null,也不是outArgs。只有我想到的是" stream",但为什么?
不难看出我在c#中相对较新。
异常MessageBox显示:
System.NullReferenceException:未将对象引用设置为实例 一个对象。在Splunk.Service.VersionCompare(String right)at Splunk.Service.SetSegmentationDefault(Args& args)at Splunk.Service.Oneshot(String query,Args inputArgs)at Transkrypter_2.0.Form1.Form1_Load(Object sender,EventArgs e)in c:... \ Form1.cs:第45行
第45行是"使用(var stream = service.Oneshot(oneshotQuery,outArgs))"
我很感激你的帮助:
using Splunk;
private void Form1_Load(object sender, EventArgs e)
{
try
{
var connect = new ServiceArgs
{
Host = "myip",
Port = 8089,
Scheme = "https"
};
Splunk.Service service = new Splunk.Service(connect);
var oneshot = new Splunk.Client.JobArgs();
//oneshot.EarliestTime = "2015-08-09 10:25:00";
//oneshot.LatestTime = "2015-08-09 11:25:00"
String oneshotQuery = "search * | head 10";
var outArgs = new JobResultsArgs
{
OutputMode = JobResultsArgs.OutputModeEnum.Xml,
Count = 0,
};
using (var stream = service.Oneshot(oneshotQuery, outArgs))
{
using (var rr = new ResultsReaderXml (stream))
{
foreach (var @event in rr)
{
richTextBox1.Text += "Event:" + Environment.NewLine;
foreach (string key in @event.Keys)
{
richTextBox1.Text += " " + key + " -> " + @event[key];
}
}
}
}
button1.BackColor = Color.Green;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString() ,ex.Message.ToString());
}
另外我想提一下,这是第二个应用程序,只是为了测试这个错误,就像在我的主应用程序中一样,发生同样的异常。
答案 0 :(得分:0)
@NigelK是对的。我忘记在service.Login("login", "password");
之后添加Splunk.Service service = new Splunk.Service(connectArgs);
我发现这一点,但上面的@ halr9000代码让它变得更加明显 - 愚蠢的我。一个人仍然是个谜团:它以前的效果如何...;)所以是的,主题已经关闭,非常感谢大家的帮助!