2011-04-08 4 views
0

.NET에 익숙하지 않습니다. 전임자가 남긴 코드를 기반으로 웹 서비스를 만들어야합니다. NET 3.5라고 믿습니다. >을 App_Code
- -> myWebSvc.cs
-> Fetch.cs.NET 웹 서비스 프로젝트

-> App_Data


[루트]
: 자신의 코드가있는 디렉토리에서 다음이있다

-> 빈
-> some.dll
-> someother.dll

Global.asax에
Fetch.asmx
의 Web.config


나는 기본적으로 커버 로스 API 일부 호출을 추가, 자신의 웹 서비스를 다시 작성해야합니다. 전임자가 VS 솔루션 파일을 남기지 않았습니다. 위 내용을 담은 웹 서비스 폴더. Visual Studio 2010에서 새로운 .NET Web Service 프로젝트를 만들면 실제로 Service1.asmx.cs를 여는 Service1.asmx가 생깁니다. 의 내용은 실제로
<%@ WebService Language="C#" CodeBehind="~/App_Code/Fetch.cs" Class="Fetch" %>

내 질문은 단 한 줄입니다 Fetch.asmx 같은 아무것도 어떻게해야합니까 다시 만들 .NET 웹 서비스 프로젝트를 분명히 전부입니다이 코드를 포함 그것은 WS 가져 오기에 사용되었습니다. .NET WS가 구축 될 때 어떻게 배치 될지 알 수 없습니다. 내 테스트 프로젝트에는 App_Code 디렉토리가 없습니다.

누구나이 프로젝트를 다시 만드는 가장 좋은 방법을 알고 있습니까? 나는 정말 실망 스럽다.

답변

1

전임자가 웹 응용 프로그램이 아닌 웹 사이트를 만들었을 가능성이 있습니다. 기존 물건을 열려면 file->open->website을 수행 한 다음이 서비스가 포함 된 최상위 디렉토리를 탐색하고 열기를 클릭하십시오. 아마도 그것이 더 합리적이 될 것입니다.

코드를 복사하여 붙여 넣기 만하면 fetch.cs를 볼 수 있습니다. 아마도 myWebSvc.cs를 어떤 식 으로든 참조하기 때문에 새 프로젝트에도 배치하는 것이 좋습니다.

+0

이것은 실제로 아주 잘 작동했습니다! 고맙습니다. 파고 들어서 전임자가 웹 사이트를 꽤 좋아한다는 것을 알았습니다. 네이슨 고마워. –

1

실제 웹 서비스 프로젝트가 아닌 것 같습니다. 최악의 경우 단일 .asmx 파일이있는 웹 사이트가 될 수 있습니다.

웹 서비스 프로젝트로 변환하려면 myWebSvc.csFetch.cs의 코드/파일을 복사하여 붙여 넣거나 포함 할 수 있습니다. 이렇게하면 해당 두 파일에있는 코드를 활용할 수 있으며 원하는대로 리팩토링 할 수 있습니다.

bin에서 적절한 세 번째 어셈블리 참조가 필요하며 web.config의 항목이 필요에 따라 새 프로젝트로 가져옵니다.

+0

p.campbell ... "최악의 경우 단일 .asmx 파일이있는 웹 사이트가 될 수 있습니다."... 왜 이것이 최악의 해결책입니까? 편익이나 편익이 있습니까? 추천할만한 모범 사례가 있습니까? –

+0

@Chad : right ... 나는 현대의 '웹 서비스 프로젝트'를 기대하고 있다는 점에서 '최악'을 의미했지만, '웹 사이트'프로젝트를 보았을 가능성이 큽니다. 이 설정에는 아무런 문제가 없지만 '웹 사이트'는 더 이상 사용되지 않습니다. '최악의 경우'는 코드 복사, 약간의 재구성을 포함하는 해결 방법을 수행해야한다는 것입니다. –

1

이 프로젝트에 대해 많이 알려지지 않은 부분이 있습니다. 나는 몇 가지 가정을 할 수있다.

이미 언급했듯이 웹 사이트가 아닌 웹 사이트입니다. 다시 만들고 응용 프로그램을 사용하려면 수행해야 할 몇 가지 작업이 있습니다. bin 폴더에있는 dll은 중요 할 수 있으며 myWebSvc.cs 또는 Fetch.cs에서 참조되는 경우 마이그레이션해야합니다.myWebSvc.cs는 Fetch.cs가 사용하는 클래스이며 포함되어야한다고 생각합니다. 새로운 웹 서비스에서 원할 경우 App_Code 폴더를 생성 할 수 있지만 더 중요한 것은 모든 것이 동일한 네임 스페이스에서 작동한다는 것입니다.

이는 전체 프로젝트에서 코드를 보지 않고 결정적인 사항입니다.