0

우선 커뮤니티에 지속적으로 기여한 StackOverflow의 모든 사람에게 감사의 말을 전하고 싶습니다.프로그래밍 방식으로 도메인 서비스 끝점을 web.config에 추가하는 방법

참고로, 저는 C#을 통해 프로그램 적으로 사이트의 web.config를 조작하는 데 도움이 필요합니다. 문제의 사이트는 WCF RIA 서비스를 통해 서버 런타임과 통신하는 Silverlight 5 응용 프로그램을 호스팅합니다.

작성중인 코드는 WCF Ria 서비스 스택을 테스트하기위한 자동화 된 빌드 배포 테스트 시나리오의 부트 로더의 일부입니다. 문제의 문제는 서비스를 제대로 테스트하려면 유닛 테스트 코드가 새로운 soap 엔드 포인트를 통해 Ria Services와 통신 할 수 있어야한다는 것입니다.

효과적으로 도메인 서비스 구성 섹션은 다음과 같이 만들 것이 사이트가 그 안에 Microsoft.ServiceModel.DomainServices.Hosting DLL의 복사본을 필요로 작업의 bin 폴더, 새로운 soap 엔드 포인트 만들려면 :

<system.serviceModel> 
    <domainServices> 
     <endpoints> 
      <add name="OData" .../> 
      ***<add name="Soap" type="Microsoft.ServiceModel.DomainServices.Hosting.SoapXmlEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>*** 
     </endpoints> 
    </domainServices> 
</system.serviceModel> 

을 나는 동안 내가 C# xml API를 통해 web.config를 수정할 수 있다고 생각합니까? 나는 ConfigurationManager를 통해 그렇게 할 수있는 다른 방법이 있는지 궁금합니다.

감사

</bleepzter>

+0

은 WCF 대신 ServiceStack.com을 사용하는 것이 좋습니다. 그럼 언제든지 원하는 도메인/URL을 사용할 수 있습니다. –

답변

-1

내가 빌드 스크립트의 일부로 설정 조작을 할 것입니다.

현재 내 프로젝트에서 빌드/배포 프레임 워크로 YDeliver을 사용하고 있으며 Powershell에서 실행되기 때문에 XML 형식으로 xml api을 사용합니다.

+0

구성 조작은 배치 스크립트의 일부로 수행되며 변경할 수 없습니다. 또한 테스트는 빈 VM의 Windows Server 2008 R2 또는 Windows Server 2012를 실행하는 "build-deploy-test"시나리오에서 수행되므로 "빌드"스크립트에서이 작업을 수행하는 것은 의미가 없습니다. 인스톨러가 아니면 테스트 용으로 하나를, 생산 용으로 두 개를 가져야합니다. 생산 품질 코드를 테스트하고 두 가지 완전히 다른 설치 프로그램을 사용하는 "유효성 검사 결과"를 생성하려고 시도하는 이래로 규정 준수의 이유로 인해 목적을 이깁니다. – bleepzter

+0

또한 -1 인 이유는 괜찮은 제안이지만 다른 언어를 배울 필요가 없기 때문입니다. 질문은 C#에 따라 다릅니다. 또한, 대답은 상당히 일반적입니다 - 설정 파일을 수정해야한다는 것은 명백합니다. 이렇게하는 과정에서 문제는 웹 응용 프로그램이 IIS에 배포 될 때 구성 파일이 IIS 작업자 프로세스 (사이트가 실행되는 응용 프로그램 풀)에서 사용된다는 것입니다. ConfigurationManager (System.Configuration) API 및 특정 ConfigSection 정의는 파일 잠금이 구성 파일을 직접 조작하지 못하도록하는 방법을 제공합니다. – bleepzter

+0

@bleepzter - 충분히 공정하게, 나는 어디에서 왔는지 알 수 있습니다. 지금까지 내 프로젝트에서 우리는 관심사 (비즈니스 로직 만있는 애플리케이션)를 분리하려고 시도했으며 구성 관리는 buildscripts, buildconfig 및 CI 도구를 통해 수행됩니다. 하나의 설치 프로그램 (이슈)이 있다는 데 동의하지만, 응용 프로그램과 달리 구성을 제어하는 ​​설치 관리자가 될 수 있다고 생각합니다. –