2014-09-11 2 views
0

SharePoint 2013 Project WebPart/Timer 작업에서 C#을 사용하여 CMD 명령을 실행할 수 있습니까? .EXE를 프로그래밍 방식으로 SharePoint에서 실행

나는 다음과 같은 시도 : 셰어 프로젝트 외부

string commonFilesPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.System); 
ProcessStartInfo proc = new ProcessStartInfo(); 
proc.FileName = commonFilesPath + "\\cmd.exe"; 
proc.WindowStyle = ProcessWindowStyle.Maximized; 

proc.Arguments = "/C cd C:\\Folder && ftpclient.exe -area=SomethingThatCanChange -login=**** -password=***** -exitonupload"; 

using (Process exeProcess = Process.Start(proc)){ 
    exeProcess.WaitForExit(); 
} 

- 나는 웹 양식 프로젝트에서 테스트했습니다 -이 완벽했다. SharePoint에 배포 할 때 그렇게하지 마십시오. 예외는 발생하지 않습니다.

공유 폴더 목록의 값을 사용하여 .exe 파일 (ftpclient.exe)을 정기적으로 실행해야합니다. 내가 무엇을 할 수 있을지?

+0

"작동하지 마십시오"는 문제에 대한 설명이 아닙니다. 로그를 검사하여 예외가 있는지 확인하고 발견 한 내용으로 게시물을 업데이트하십시오. 또한 FTP에 업로드 할 레이어를 줄이는 것을 고려해보십시오. 이제는 3 (cmd -> exe -> ftp)이 필요합니다. 실제로는 'FtpWebRequest'로 충분할 수 있지만, 좋은 오류 정보를 얻으려면 exe를 직접 실행하십시오. –

+0

@Alexei Levenkov exe는 오류를 발생시키지 않습니다. SharePoint Project 외부에서 완벽하게 실행됩니다 (Web Forms 응용 프로그램에서 말한 것처럼). –

+0

http://www.bing.com/search?q=where+to+find+sharepoint+log –

답변

0

이 .exe를 일정대로 호출하려면 SharePoint 외부에서 전체 프로세스를 실행해야합니다. 외부 응용 프로그램은 CSOM (Client Side Object Model) 또는 REST API를 사용하여 SharePoint 목록과 상호 작용할 수 있습니다. 그런 다음 Windows 작업 스케줄러를 사용하여 필요에 따라이 작업을 실행할 수 있습니다.

http://msdn.microsoft.com/en-us/library/office/fp179912(v=office.15).aspx#BasicOps_SPListItemTasks

당신이 절대적으로 셰어의 내부를 실행해야하는 경우에 당신은 완전 신뢰 솔루션이 아닌 샌드 박스 솔루션을 사용하고 있는지 확인합니다.

관련 문제