내가 전에 기본 주소에 instanceName
을 추가 WCF 서비스 호스트를 시작으로 호스트의 기본 주소를 조정하려고를 다시 작성하지 않고도 서비스 호스트의 기본 주소를 수정 다음과 같은 같습니다응용 프로그램 구성 파일
<services>
<service name="MyCompany.Common.Csla.WcfPortal"
behaviorConfiguration="serviceBehavior">
<endpoint contract="Csla.Server.Hosts.IWcfPortal"
binding="customBinding"
bindingConfiguration="compressed_httpConfig"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8001/MyAgent" />
</baseAddresses>
</host>
</service>
</services>
동기 부여 : 나는 동일한 시스템에서 동일한 에이전트 프로세스를 여러 번 실행할 수 있도록하려면. 각 인스턴스는 명령 행에서 고유 한 이름을 가지며 호스트 기본 주소에 통합되어야합니다. app.config에 baseAddresses 컬렉션이 전혀 포함되어 있지 않으면이 작업을 쉽게 수행 할 수 있습니다. 그러나 인스턴스 이름을 지정하지 않고 단일 에이전트 프로세스가 실행될 경우에 대비해보고 싶습니다.
문제는 서비스 호스트가 생성자에 지정된 기본 주소를 app.config에 표시된 주소와 병합한다는 것입니다. 당연히 예외로 실패합니다. http 스키마로 두 개의 주소를 발견하기 때문입니다.
또한 실행중인 인스턴스에 따라 WCF 주소를 수정하려고 할 때 주류 WCF 철학을 따르고 있습니까? 내가 해킹의 미로에서 길을 잃은 경우 - 주요 도로로 돌아가는 길을 보여주십시오.
이것은 현재 작동하는 방식입니다. 나는 실제로 디스크에 저장하지 않고 프로그래밍 방식으로 유기 WCF 구성을 수정할 수 있는지 여부를 아는 데 특히 관심이 있습니다. – mark