Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > .NET Framework > Forum > สอบถามเรื่อง ProcessStartInfo("cmd.exe"); ไม่ทำงาน กับ client



 

[.NET] สอบถามเรื่อง ProcessStartInfo("cmd.exe"); ไม่ทำงาน กับ client

 



Topic : 054995



โพสกระทู้ ( 38 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



Code (C#)
01.public void Compile()
02.        {
03. 
04.            String strSQL = @"  SELECT  Course_ID
05.                           FROM    HW
06.                           where HW_Name = " + "'" + DropDownList1.Text + "'";
07. 
08.            SqlDataReader sdr1 = clsDB.QueryDataReader(strSQL);
09.            sdr1.Read();
10.            String Course_ID = sdr1["Course_ID"].ToString();
11.            clsDB.Close();
12. 
13.            DirectoryInfo myDirInfo;
14.            DirectoryInfo myDirInfo2;
15.            DirectoryInfo[] arrFolderInfo;
16.            myDirInfo = new DirectoryInfo(Server.MapPath("~/Storage_File/Teacher/" + User.Identity.Name + "/" + Course_ID + "/"));
17.            arrFolderInfo = myDirInfo.GetDirectories("*");
18.             
19.             
20.             
21. 
22. 
23.            foreach (DirectoryInfo myFolderInfo in arrFolderInfo)
24.            {
25.                try
26.                {
27.                    string filenameCompile = DropDownList1.Text + "_" + myFolderInfo.Name + ".cpp";
28.                    string filenameCompile_2 = DropDownList1.Text + "_" + myFolderInfo.Name;
29.                    string ShowResult = DropDownList1.Text + "_" + myFolderInfo.Name + ".exe";
30.                    string Output = DropDownList1.Text + "_" + myFolderInfo.Name + ".txt";
31.                    string StudentID = myFolderInfo.Name;
32. 
33. 
34.                    System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo("cmd.exe");
35.                    si.RedirectStandardInput = true; si.RedirectStandardOutput = true; si.RedirectStandardError = true; si.UseShellExecute = false; si.CreateNoWindow = true;
36.                    System.Diagnostics.Process console = System.Diagnostics.Process.Start(si);
37.                    console.StandardInput.WriteLine(@"C:");
38.                    console.StandardInput.WriteLine(@"cd " + (Server.MapPath("~/Storage_File/Teacher/" + User.Identity.Name + "/" + Course_ID + "/" + myFolderInfo.Name + "/" + DropDownList1.Text + "/")));
39.                    console.StandardInput.WriteLine(@"g++ " + filenameCompile + " -o " + filenameCompile_2);
40.                    System.Threading.Thread.Sleep(1000);
41.                    //console.StandardInput.WriteLine(@"" + ShowResult + ">" + Output);
42.                    console.StandardInput.WriteLine(@"exit");
43.                    System.Threading.Thread.Sleep(1000);
44. 
45. 
46. 
47.                     
48. 
49. 
50. 
51.                    myDirInfo2 = new DirectoryInfo(Server.MapPath("~/Storage_File/Teacher/" + User.Identity.Name + "/" + Course_ID + "/" + myFolderInfo.Name + "/" + DropDownList1.Text + "/"));
52. 
53.                    FileInfo[] arrFileInfo;
54. 
55. 
56.                    arrFileInfo = myDirInfo2.GetFiles("*.exe");
57. 
58. 
59. 
60.                    foreach (FileInfo myFileInfo in arrFileInfo)
61.                    {
62. 
63. 
64.                        if (myFileInfo.Name == ShowResult)
65.                        {
66. 
67.                            String strSQL1 = @"  INSERT INTO Check_Compile
68.                           (StudentID,HW_Name,Compile)
69.                           VALUES     ('" + StudentID + "', '" + DropDownList1.Text + "', '" + "ผ่าน" + "')";
70. 
71.                            clsDB.QueryExecuteNonQuery(strSQL1);
72.                            clsDB.Close();
73. 
74.                        }
75. 
76. 
77.                    }
78.                }
79.                // Modify
80.                catch (System.IO.IOException e)
81.                {
82. 
83.                }
84. 
85. 
86.            }
87. 
88.            String strSQL2 = @"  INSERT INTO Check_Compile (StudentID,HW_Name,Compile)
89.                              select Enroll.Student_ID ,'" + DropDownList1.Text + "','ไม่ผ่าน' FROM Enroll WHERE Enroll.Student_ID NOT IN(select Check_Compile.StudentID from Check_Compile where HW_Name = " + "'" + DropDownList1.Text + "'" + ")";
90.            clsDB.QueryExecuteNonQuery(strSQL2);
91.            clsDB.Close();
92. 
93.        }



จริงๆแล้วเมื่อ ทำ ฟังก์ชันนี้เสร็จ โปรแกรมจะทำการสร้าง ไฟล์ .exe ขึ้นมา ตาม path ที่กำหนดไว้อะครับ
ปัญหาที่พบคือ
เมื่อเข้า ด้วย url http://192.168.1.3/test/Teacher/Check_Homework.aspx
ไม่มีการสร้าง ไฟล์ .exe ขึ้นมา

แต่เมื่อเข้าด้วย http://localhost:54392/Teacher/Check_Homework.aspx
โปรแกรมทำงานได้ปกติ


ไม่ทราบว่าต้องแก้ ยังไงหรอครับพี่ๆ
แต่ว่า เรื่อง permission ผมแก้หมดแล้ว สามารถเขียนไฟล์ หรือ สร้าง folder ไว้บน server ได้แล้ว

หรือว่า ไคลเอน ไม่สามารถสั่ง รัน cmd ได้อะครับ หรือว่า
มีปัญหา ตอน

console.StandardInput.WriteLine(@"cd " + (Server.MapPath("~/Storage_File/Teacher/" + User.Identity.Name + "/" + Course_ID + "/" + myFolderInfo.Name + "/" + DropDownList1.Text + "/")));

console.StandardInput.WriteLine(@"g++ " + filenameCompile + " -o " + filenameCompile_2);

ใน cmd มันไม่สามารถ cd ไปที่ path (Server.MapPath("~/Storage_File/Teacher/" + User.Identity.Name + "/" + Course_ID + "/" + myFolderInfo.Name + "/" + DropDownList1.Text + "/")) นี้ได้หรือเปล่า


หรือว่าต้อง set iis อะไรเพิ่ม
หรือยังไง โอ๊ยๆ งง
พี่ๆช่วย ดูให้ทีนะครับบบบบบบ



Tag : .NET, Web (ASP.NET), Console App, WebService, C#









ประวัติการแก้ไข
2011-01-24 17:20:21
2011-01-24 17:30:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-01-24 17:17:20 By : nuicpe View : 1579 Reply : 1
 

 

No. 1



โพสกระทู้ ( 38 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอถามอะไรเพิ่มหนอ่ยนะครับ


เราสามารถ สั่งให้ client รัน command ของ dos ได้หรือเปล่าีครับ
แล้ว จาก code ที่ผมโพสไว้ด้านบน
มันสามารถ ทำงานได้(จาก client ) หรือเปล่าครับ
หรือว่าต้องใช้วิธี ไหนน
ช่วยแนะนำทีนะครับๆๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-24 19:02:53 By : nuicpe
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง ProcessStartInfo("cmd.exe"); ไม่ทำงาน กับ client
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่