문제

ASP.NET 사이트에서 원격 서비스를 호출하는 일부 SOAP 클라이언트 코드를 구현했습니다. 구현은 기본적으로 Visual Studio "Web Reference Add"Wizard, remote.service.namespace를 사용하여 코드에 사용하고 서비스를 호출하여 사용하여 수행되었습니다.

코드는 로컬로 완벽하게 작동하지만 (Visual Studio에서) 어셈블리 참조 오류가 누락 된 프로덕션 웹 서버에서 실패합니다.

CS0246 : 유형 또는 네임 스페이스 이름 'Remote.Service'를 찾을 수 없습니다 (사용 지시서 또는 어셈블리 참조를 사용하지 않습니까?)

나는 모든 것을 제대로 배치하지 않는다는 비열한 의심이 있습니다. 아마도 내가 놓친 것이 무엇인지 지적 할 수 있습니까?

감사!

추가 정보:

프로젝트는 웹 사이트입니다.

ASP.NET 버전 2.0 DEV 박스 및 프로덕션 서버 모두에 대상으로 설치 및 사용되었습니다.

wsdl.exe에서 생성 된 프록시 파일은 페이지가 상주하는 웹 사이트의 루트 폴더에 배포됩니다. 글로벌 네임 스페이스 (기본값)는 프록시 클래스 생성에 사용되었습니다.

도움이 되었습니까?

해결책

이것이 웹 사이트 프로젝트 인 경우 프록시 파일은 app_code 폴더 내부에 있습니다.

다른 팁

프록시 DLL이 "페이지가 상주하는 웹 사이트의 루트 폴더"에 배치되어 있다고 언급했습니다.

"bin"폴더 안에 DLL을 배치해야합니다. 폴더가 없으면 작성하십시오.

.NET의 Web Service 클라이언트 스택은 프록시 클라이언트의 런타임 생성 (wsdl.exe/svcutil.exe에 의해 생성 된 클래스의 주석에서)을 만듭니다. 이 생성 된 파일은 일반적으로 서버 임시 디렉토리 중 하나에서 끝납니다 (메인 Windows 트리 아래에는 어딘가에 있습니다). 문제는 ASP.NET 사용자 계정 에이 특정 임시 디렉토리에 쓸 권한이 없지만 파일을 작성할 때 알 수 없으므로 생성 된 내용을로드하려고 오류가 발생합니다. 다시 파일. 서버의 정확한 설치 순서에 따라 상황이 발생할 수 있습니다. 올바른 디렉토리를 찾으면 디렉토리의 NTFS PERM을 수정하여 문제를 해결할 수 있습니다.

App_Webreferences 폴더와 모든 내용을 서버에 복사 했습니까?

ASP.NET 사이트의 다른 부분이 작동합니까?

귀하의 사이트가 3.5와 3.5를 대상으로하여 프로덕션 서버에 설치되지 않습니까?

이것은 웹 사이트입니까, 아니면 웹 응용 프로그램입니까? 나는 그것이 웹 사이트라고 확신합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top