2011-09-01 2 views
1

WNetAddConnection2를 사용하여 ASP.NET 웹 응용 프로그램을 통해 네트워크 위치에 연결하려고합니다. 모든 것은 VS2010과 함께 제공되는 ASP.NET Development Server를 사용하여 디버깅 할 때 완벽하게 작동합니다. 그러나 Windows Server 2008 R2에 코드를 배포하면 파일이 배치되지 않고 오류 코드 0X80004005가있는 Win32 예외가 발생합니다. 응용 프로그램 풀 ID는 네트워크 서비스이며 부정 사용자를 위해 도메인 사용자 계정을 사용하고 있습니다.Windows 2008 R2에서 WNetAddConnection2가 작동하지 않습니다.

내가 명령을 사용하여 연결 및 사용자 이름 암호 유효성을 확인하고이 서버에서 runas/netonly/사용자로부터 pefectly 작동 : 도메인 \ 사용자 "Explorer.exe에서의 \ 경로"

이 내 방화벽도 있습니다입니다

스위치가 꺼져 있고 Windows Server 2008에서 실행중인 바이러스 백신이 없습니다.

도움이 정말 감사드립니다.

나는 ... (설치가 someting 등) 보안 현명한 다르게 행동하고 "데스크탑 관련 활동을"허용되지 않는 Windows Vista 및 Windows 서비스 시작 How to provide user name and password when connecting to a network share

답변

0

아마도 ... 그 목표를 달성하기 위해 다른 방법이있다. WNetUseConnection (IntPtr.Zero, nr, 암호, 사용자 이름, 0, null, null, null);

1

에서 샘플 코드를 사용하고

ASP.NET은 서비스로 실행되는 IIS에서 실행됩니다. 사용자가 시도하는 것은 지원되지 않으며 허가 등 여러 가지 문제를 우회하여 만 수행 할 수 있습니다.

달성하려는 내용이 확실하지 않습니까? WNetUseConnection 우리가 제대로 모든 구조를 정의 할 필요가 작동합니다

+0

내 ASP.NET 응용 프로그램에서 네트워크 경로 (특정 권한 있음)로 가져와야하는 CSV 파일을 생성합니다. 다른 방법으로이 CSV를 로컬에 만들고 다른 프로그램 (windows servive 또는 예약 된 작업 콘솔 응용 프로그램)을 만들어이 파일을 선택하고 네트워크 위치로 드롭합니다. 이 방법이 가장 쉬운 방법입니다. 사람들이이 작업을하는 기사를 기반으로합니다 ... http : //corner-house.blogspot.com/2006/03/accessing-shared-folders-in-aspnet.html –

+0

내가 말했듯이, 이러한 것들은 Vista로 변경되었으며, 당신이이 방법으로 작동시키지 못하게하는 허가를 심각하게 낭비하고 싶지 않다면 ... CSV를 생성하고, 그것을 로컬에 저장하고, 그것을 필요로하는 사람은 누구나 제안 할 것입니다 HTTP URL/GET을 통해 얻을 수 있습니다 ... 이것은 예약 된 작업 또는 실제로 서비스 외부에서 실행되는 모든 응용 프로그램이 될 수 있습니다 ... – Yahia

+0

예약 된 작업이 구성된 콘솔 응용 프로그램으로 코드를 이동했습니다. 그러나 WNetAddConnection2와 함께 간헐적 인 동작이 나타납니다. 다른 방법으로 네트워크 공유에 연결할 수 있습니까? 코드는 한 번만 작동하지만 이후에는 동일한 오류로 실패합니다. –

관련 문제