【发布时间】:2015-09-22 13:44:21
【问题描述】:
我正在尝试创建一个 Web 应用程序,它可以读取用户提供的某些文件(日志),然后使用 Microsoft 的 LogParser 2.2 exe 来解析日志并提供请求的输出。
我的想法是运行用户系统中存在的 Local LogParser.exe,然后使用相同的生成输出来准备我的输出。
我不知道这种方法是否正确,但是我正在尝试做同样的事情,但在某处我的代码没有被正确遵循,我无法找到任何输出/错误。
我的代码段如下:
protected void Button2_Click(object sender, EventArgs e)
{
try
{
string fileName = @"C:\Program Files (x86)\Log Parser 2.2\LOGPARSER.exe";
string filename = "LogParser";
string input = " -i:IISW3C ";
string query = " Select top 10 cs-ur-stem, count(cs-ur-stem) from " + TextBox1.Text + " group by cs-uri-stem order by count(cs-ur-stem)";
string output = " -o:DATAGRID ";
string argument = filename + input + query + output;
ProcessStartInfo PSI = new ProcessStartInfo(fileName)
{
UseShellExecute = false,
Arguments = argument,
RedirectStandardInput = true,
RedirectStandardOutput = true,
CreateNoWindow = false
};
Process LogParser = Process.Start(PSI);
LogParser.Start();
}
catch (Exception Prc)
{
MessageBox.Show(Prc.Message);
}
我可能做错了什么,但有人能指出我正确的方向吗? Javascript ActiveX控件可能是前进的方向吗?
感谢所有帮助
((我将其作为我组织的内部应用程序,并且假设日志解析器将存在于正在使用此 Web 应用程序的计算机中)0
谢谢
拉维
【问题讨论】:
-
所以您希望用户提供文件,然后在上传到服务器之前需要对其进行解析?
-
没错,我需要日志文件,这些文件将使用用户本地计算机中的日志解析器进行解析,然后我将使用输出。
-
你不会喜欢这个答案,但你应该上传完整的文件并在服务器上解析它。不要尝试使用客户端上的可执行文件来自动化任何事情。由于非常明显的原因,你不能做你要求的事情。如果可能的话,我可以在你的电脑上做任何我想做的事,只要让你访问我的网站。您不能为他们手动运行的客户端创建一个可执行文件,并在一个过程中进行解析然后上传结果吗?
标签: javascript asp.net iis activex logparser