간단한 일이 있어야하지만 .NET 및 웹 프로그램에 익숙하지 않아서 저를 방해하고 있습니다. 저는 전자 상거래 사이트를 위해 ASP와 ASP.NET을 프로그래밍하고있는 똑바로 세운 C 프로그래머입니다.ASP (초보자)에서 서버 측 exe 실행
2 개의 데이터베이스를 동기화하는 ASP 프로그램이 있습니다. 또한 동기가 발생하기 전에 원본 데이터베이스를 채우는 EXE로 컴파일 된 VB.NET 프로그램이 있습니다. 내 마음 속에 VB.NET & ASP .NET 프로그램을 함께 연결할 수 있어야한다는 것을 알았습니다. 그게 .NET의 힘이기 때문입니다. 또는 ASP에서 EXE를 실행할 수 있다면 내 프로젝트에도 적합합니다. 두 프로그램에 대한 출처가 있습니다. ASP 스크립트는 텍스트 편집기로 작성되었습니다. VB는 VB 2008 Express에 있습니다.
내가 조립하지 않았기 때문에 조립품 등을 아는 사람이 없다는 것을 전제로하십시오. ASP를 선호하지만, 필요한 경우 ASP.NET 스크립트를 사용하여 EXE를 시작할 수 있습니다. 코드는 VBScript가 포함 된 레거시 ASP이므로 모든 ASP.NET 항목은 VB의 맛이기도합니다. C#은 내 다른 프로그래머의 머리를 상하게한다. 그래서 이것은 VB로 남아 있어야한다.
비교적 쉽게 EXE 사전 동기화 프로그램을 시작하고 ASP 동기화 스크립트가 시작될 때 실행되도록 할 수있는 방법이 있습니까?
서버는 MS Windows Server 2003 SP2/IIS 6.0/.NET 버전은 2.0.50727.3603입니다. 감사!
그런데 - ".NET을 올바르게 사용하는 법을 배우고 싶습니다."하지만이 프로젝트에서는 시간이 짧고 심층적 인 연구가 기다려야합니다.
편집 : 아론의 대답은 아래의 솔루션에 내 대부분의 방법을 얻을 수 있지만 내가 갖는 :
예외 정보를 : System.ComponentModel.Win32 예외 : 액세스가 거부
소스 오류 : 줄 17 : process1 .스타트();
아이디어 누구?
해결 방법 : 아론의 대답에 더하여 ~ /에서 MapPath가 웹 사이트의 가상 루트이고 실행할 파일이 그와 관련이 있습니다.
좋아, 지금이 얻을 시작 블록 떨어져 있지만 : 예외 정보를 : System.ComponentModel.Win32Exception : 액세스가 거부 소스 오류 : 행 17 : process1.Start(); 아이디어? – Deverill
권한 문제 일 가능성이 높습니다. 기본적으로 웹 요청은 웹 서버에서 파일을 실행할 수 없도록하고 싶지 않습니다. 웹 서버가 실행중인 사용자/그룹이 파일에 액세스 할 수 있는지 확인하십시오 (쓰기는 불가능 함을 확인하십시오). –
내 ASP.NET 컴퓨터 계정과 인터넷 게스트 계정에는 모두 실행 파일에 대한 읽기/실행 권한이 있습니다. "Everyone"에게 읽기/실행 권한을 주었지만 도움이되지 않았습니다. – Deverill