2013-05-04 3 views
0

현재 baseAddress는 프로그래밍 방식으로 가능 서비스와 클라이언트 서비스에 대한프로그래밍 방식으로 클라이언트와 서버 모두에 대해 baseAddress를 설정하는 방법은 무엇입니까?

의 app.config와 클라이언트

<host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:8080/service" /> 
     </baseAddresses> 
    </host> 

모두에 대한 app.config 파일에서 해결? Like

baseAddress = txtbaseAddress.Text; 

또는 어떤 것이 있습니까?

+0

효과가 있습니까? ServiceHost myHost = 새로운 ServiceHost (typof (myType), baseAddress)? –

+0

@AdilMammadov,이 컬렉션에는 이미 스키마 http가있는 주소가 포함되어 있습니다. 이 컬렉션에는 구성표 당 하나의 주소 만있을 수 있습니다. 서비스가 IIS에서 호스팅되는 경우 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled'를 true로 설정하거나 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'를 지정하여 문제를 해결할 수 있습니다. – SHINHAN

답변

0

읽기 전용이므로 ServiceHost를 사용하여 기본 주소를 업데이트 할 수 없습니다. baseAddress 세트를 ServiceHost 생성자에 전달해야하거나 구성 파일을 사용해야합니다. 이것은 나이지만

다음 링크

  1. MSDN

  2. MSDN Blog

<system.serviceModel> 
    <serviceHostingEnvironment> 
    <baseAddressPrefixFilters> 
     <add prefix=”net.tcp://test1.fabrikam.com:8000”/> 
     <add prefix=”http://test2.fabrikam.com:9000”/> 
    </baseAddressPrefixFilters> 
    </serviceHostingEnvironment> 
</system.serviceModel> 
+2

여기에는 프로그래밍 방식으로이 작업을 수행하는 예제가 없습니다. –

0

를 참조하시기 바랍니다 늦게 다른 사람에게 유용 할 수도 있습니다. Service Host Factory Base

구현 예 : Implementing Custom Service Host

추가적으로 ServiceHostBase 클래스는 추상적이고 사용자 정의하여 ServiceHost를 만드는 데 활용 될 수를 여기로 ServiceHostFactoryBase에 따라 사용자 정의 서비스 호스트를 사용

.

+0

[링크 전용 답변은 권장되지 않습니다.] (http://meta.stackoverflow.com/tags/link-only-answers/info)이므로 SO 답변은 솔루션 검색의 종점이어야합니다 (시간이 지남에 따라 부실 해지는 경향이있는 참고 문헌의 또 다른 중간 기착 (stopover)). 링크를 참조 용으로 유지하면서 독립형 시놉시스를 여기에 추가하는 것을 고려해보십시오. – kleopatra

관련 문제