문제

나는 두 개의 웹사이트에 같은 기계입니다.첫(클라이언트)참조 WCF 서비스에서 두 번째 사이트(서버).

를 설정하는 방법은 무엇입니까 주소에 대한 서비스를 참조하나요?에서 이동할 때 발전에는 로컬 컴퓨터 그룹 development server,나는 어떻게 변화의 url 을 서비스하는가?이 사이트는 차별화 된 host 헤더,다음과 같 http://dev.admin/...고 http://dev.public/...

나는 이를 사용하여 처리할 수 있습 여러 끝점,그러나 나는 아주 새로운 WCF 및 정말 단서가 없어 내가 무엇하고 있습니다.

도움이 되었습니까?

해결책

후에는 많은 좌절,나는 관리 결정하는 웹.config 파일(클라이언트와 서버에서,모두에서 웹 앱을 이 경우),다음과 같은 섹션이 변경 될 수 있:

클라이언트:

   <client>
      <endpoint 
        address="http://mysite.com:port/services/someservice.svc"
        binding="basicHttpBinding" 
        bindingConfiguration="BasicHttpBinding_ISomeService"
        contract="MyServices.ISomeService" 
        name="BasicHttpBinding_ISomeService" />

    </client>
  </system.serviceModel>

서버

 <system.serviceModel>
    <serviceHostingEnvironment>
      <baseAddressPrefixFilters>
        <add prefix="http://mysite.com:port/services"/>
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyServices.SomeServiceBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="MyServices.SomeServiceBehavior"
        name="MyServices.SomeService">
          <endpoint address="http://mysite.com:port/services/someservice.svc" 
                    name="endpoint.SomeService"
                    binding="basicHttpBinding" 
                    bindingConfiguration="" 
                    contract="MyServices.ISomeService"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

가이드는 호스트 주소에서 모든 세 개의 관련 부분(클라이언트 주소,서버 baseAddressPrefixFilter 값이며,서버 종점 주소)이 일치합니다.

할 수 있어요 스위치 서버 사이에 수정하여 이러한 만큼 그들이 일치합니다.나는 아직도 선호하는 방법 설정에 따라 어떤 컴퓨터 서버에서 실행되지만,이 작품에 대한 순간입니다.

WCF 노출 뜨거운 무엇:지속적인 개체입니다.클라이언트 프록시체(만든을 추가할 경우 서비스의 참조)지속적인 연결을 유지하는 서비스 서버에 있습니다.이 서비스를 인스턴스를 참조하는 클라이언트가 프록시 해당 상태를 유지해 사내 통화할 수 있는,단순화하는 방법에 서명하고 클라이언트 프록시는 개체의 서비스는 전체적으로 훨씬 더 유용한 특정 응용 프로그램.개체 매개변수 유형을 공유할 수 있는 클라이언트와 서버 사이에 만약 그들이 선언에서 일반적 라이브러리,의미 없다는 것을 만드는 두 개의 매우 유사한 클래스 또는 래퍼 클래스는 전달하는 기본이 아닌 데이터 구조 등이 있습니다.

무엇을 하지 않습니다:구성은,가난하게 문서화되고,너무 참여합니다.작동이 점점 시험에서는/dev/준비/생산 환경 구성 서비스 neesd 의해야 하는 위치로 끌어들였습니다.저는 확신하지 않을 만드는 서비스의 도메인 url(이 아니라 상대 경로를 무엇이든 그것을 실행에)어떤 상당한 혜택,보안 문제를 둡니다.

는 말했다,나는 계속해서 내려가 WCF 경로로 이점에 따라서 훨씬 능가 두통.

다른 팁

가장 쉬운 방법:실행 WCF 부분에서 다른 항구가 있습니다.

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