首页 新闻 会员 周边 捐助

网站发布问题

0
悬赏园豆:40 [已解决问题] 解决于 2015-06-26 16:58

源码:

 public class MyRLC
    {
        public static string songPath = HttpRuntime.AppDomainAppPath.ToString();
        public string infile, outfile;
        public void Ys()
        {
            System.Diagnostics.Process process = new System.Diagnostics.Process();
            process.StartInfo = new System.Diagnostics.ProcessStartInfo(songPath + "SealCLRYS.exe", "/1 /2");
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.CreateNoWindow = false;
            process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            process.Start();
            process.StandardInput.WriteLine(infile);
            process.StandardInput.WriteLine(outfile);
            string mes4 = process.StandardOutput.ReadLine().ToString();
            process.WaitForExit();
            process.Close();
        }
    }

网站发布之后

mes4就报错,说是未将对象引用到实例。求解决

问题补充:

其实就是调用了一个外部的exe文件,未发布不报错

发布之后就报错

 

string mes4 = process.StandardOutput.ReadLine().ToString();

为null

_Vegetables的主页 _Vegetables | 小虾三级 | 园豆:586
提问于:2015-06-25 16:09
< >
分享
最佳答案
0

未将对象引用到实例

这种错误都是查看

.前面的对象是否为空null

比如你这儿

process.StandardOutput.ReadLine() 这个为空,tostring就错了。

process为空也是错。

process.StandardOutput为空也是错。

所以要么Try Catch,

要么你就得

if (process != null)

{

   do something;

}

 

 

具体到你这个问题,貌似是Writeline以后,Cursor在EndofFile,

所以你Readline就悲剧了,返回null。

收获园豆:30
爱编程的大叔 | 高人七级 |园豆:30844 | 2015-06-25 16:19

@xp就是我: 可是我不懂技术啊,只会指桑骂槐的。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-06-26 16:53

好吧,很悲剧的事情,因为调用的是C++的exe程序,结果里面有一个malloc写错了,超出字符限制的时候,就成了null了。唉

_Vegetables | 园豆:586 (小虾三级) | 2015-06-26 16:58
其他回答(2)
0

建议在服务器命令行下运行这个exe文件试试

收获园豆:5
dudu | 园豆:29570 (高人七级) | 2015-06-25 16:20
0

碰到空引用这种典型异常,记录日志是你最好的帮手。

string mes4 = process.StandardOutput.ReadLine().ToString();将.ToString()去掉试试。

收获园豆:5
JeffWong | 园豆:2328 (老鸟四级) | 2015-06-25 16:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册