2011-10-27 3 views
1

내가 주소에 대해 궁금 해서요 = ""web.config 파일WCF의 기본 사항 - 엔드 포인트

<services> 
    <service behaviorConfiguration="MyServiceTypeBehaviors" name="user"> 
    <endpoint address="" behaviorConfiguration="ptUserAspNetAjaxBehavior" binding="webHttpBinding" contract="IUser" /> 
    </service> 
</services> 
<services> 
    <service behaviorConfiguration="MyServiceTypeBehaviors" name="controller"> 
    <endpoint address="" behaviorConfiguration="ptUserAspNetAjaxBehavior" binding="webHttpBinding" contract="Icontroller" /> 
    </service> 
</services> 

내가 jQuery를 통해 호출됩니다 두 번째 서비스를 추가 해요 섹션을 참조하십시오. 첫 서비스가 훌륭하게 작동했습니다. 보시다시피 끝점 주소는 비어 있습니다. 두 번째 서비스를 추가하고 내가 제대로하고 있는지 궁금합니다.동일한 behaviorConfiguration과 바인딩을 사용하지만 계약이 다른 새로운 서비스 태그를 만들 수 있습니까?

이렇게하면 web.config 파일의 주소에 대한 또 다른 질문이 생깁니다.

왜 = ""이고 주소를 사용해야하는 이유는 무엇입니까?

답변

3

  • 당신이 IIS에서 서비스를 호스팅하고 기본적으로 IIS의 가상 디렉터리 서비스의 URL (당신의 *.svc 파일이있는 VDIR)를 지시 할 때 그것은 address="" 작동합니다. 따라서 두 개의 별도 서비스가 있고 두 개의 개별 파일이 두 개있는 경우 구성의 각 항목은 address="" 설정을 가질 수 있습니다. 하지만 당신은 수 없습니다 같은 서비스에 대한 두 개의 엔드 포인트를 둘 다 빈 주소 속성을

나이 : 당신이 기본 주소가 설정에서 서비스에 대한 정의

  • 을 따라서 그 엔드 포인트는 것입니다 해당 서비스 주소에 해당 기본 주소를 사용하십시오.
+0

marc_s - 명확한 대답에 감사드립니다. 명확히하기 위해, 지금 당장 제가 일하고있는 서비스는 로컬이고 대답으로 끝점 주소 = ""를 가질 수 있습니다. 이 주소를 공유 서버로 옮기면 주소가 계속 작동합니다. ""또는 http://www.domain.com/services/service.svc로 변경해야합니다. – webdad3

+1

@JeffV : 호스트하는 한 공유 서버에있는 IIS 내부 - IIS와 가상 디렉토리에서'* .svc' 파일이 존재하기 때문에 여전히'address = ""를 가질 수 있습니다. 서비스 주소를 결정합니다 –

관련 문제