2011-09-27 6 views
2

누구든지 HttpContext.Current.Items을 사용하려는 WCF 웹 서비스를 만들 때 2 곳에서 일부 코드를 추가해야하는 이유를 설명해주세요. webservice 자체에 하나 ([AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]) 및 web.config 파일에 하나 (<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />)?왜 aspNetCompatibilityEnabled를 두 번 설정해야합니까?

내 동료는 모든 웹 서비스 호출에 실패했습니다. 그는 web.config 설치가 누락되어 왜 나 한테 물었습니다. 내가 설명하려고했지만, 내가 할 수 있는지 잘 모르겠다 :)

나는 그것이 webservice 코드의 분리와 webservice가 호스팅되는 장소와 관련이 있다고 생각한다. webservice 자체는 호환성 모드가 필요하다고 말합니다. 그런 다음 호환성 모드에서 실행되어야한다고 말하기 위해 호스팅 환경을 설정해야합니다. 기본적으로이 점이 아닌가요? 그는 여전히 질문이 있습니다. "그러나 서비스에서 해당 속성을 사용하는 경우 자동으로 수행해야합니까?"

답변

2

먼저 WCF에 aspcompat가 활성화되어야하고 두 번째로 활성화되어야한다고 알립니다. 당신은 처음없이 할 수 있어야합니다.

이렇게하면 WCF 서비스를 구성하는 사람이 올바른 구성을 사용해야합니다.

MS는 서비스를 구성하는 사람이 만든 사람과 다른 사람이 될 수 있다는 생각으로이를 디자인했습니다.

마지막 질문에 답하십시오. 호스트를 구성하지 않고 서비스에 속성을 추가하면 호스트 구성 방법이 필요합니다. 구성은 호스트에서 발생합니다.

+1

확인해 주셔서 감사합니다. 이것은 정확히 내가 설명하려고 한 것입니다. – TweeZz

관련 문제