programing

환경당 Azure web.config

skycolor 2023. 5. 27. 09:58
반응형

환경당 Azure web.config

VS2010에 Azure 프로젝트(Azure 1.3)가 있습니다.웹 역할은 2개, 웹 페이지 프로젝트 1개, WCF 프로젝트 1개가 있습니다.디버그 모드에서는 웹 프로젝트에서 DEV 환경용 web.config를 사용하고 PROD용 web.config를 게시할 때 사용해야 합니다.

이것을 하는 가장 좋은 방법은 무엇입니까?

현재 웹을 사용할 때 문제가 발생하고 있습니다.변환 XSLT를 사용한 debug.config.Azure에서는 작동하지 않는 것 같습니다.

당신의 문제를 다른 방법으로 해결하세요.웹.config는 Azure로 작업할 때 항상 정적이고 절대 변하지 않는다는 것을 생각해 보십시오.변경되는 것은 ServiceConfiguration.cscfg입니다.

우리가 한 일은 먼저 ServiceConfiguration.cscfg를 확인한 다음 설정/연결 문자열이 없는 경우 web.config로 다시 이동하는 자체 구성 공급자를 만드는 것입니다.이를 통해 개발 중에 IIS/WCF에서 서버를 직접 실행한 다음 Azure에 배포할 때 다른 설정을 사용할 수 있습니다.web.config를 사용해야 하는 몇 가지 상황(네, 여기 WCF를 참조합니다)이 있으며, 이러한 경우에는 모든 것을 web.config에 저장하는 대신 코드를 작성하고 규약을 만들어야 합니다.WIF(Windows Identity Foundation) Azure를 다룰 때 이 작업을 수행한 예를 보여주는 블로그 게시물이 있습니다.

모세의 말에 동의합니다, 훌륭한 질문입니다!

Visual Studio 2010에는 이러한 유형의 문제인 web.config 변환에 대한 솔루션이 포함되어 있습니다.웹 역할을 보면 웹 역할이 포함되어 있음을 알 수 있습니다.debug.config 및 Web.기존 web.config와 함께 릴리스.config.이러한 파일은 배포 중에 web.config를 변환하는 데 사용됩니다.

일반적인 예는 "개발 및 릴리스를 위해 다른 데이터베이스 연결 문자열이 필요합니다"이지만 사용자의 상황에도 적합합니다.

Visual Web Developer Team에서 이 기능을 사용하는 방법을 설명하는 훌륭한 블로그 게시물이 있습니다(MSDN 문서에 신경 쓰지 마십시오. 문서가 어떻게 작동하는지 알고 있지만 여전히 문서를 이해하지 못합니다).http://blogs.msdn.com/b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx 를 확인해 보세요.

나는 이 질문이 좋아요!

작업자 역할의 경우 런타임에 환경을 감지하고 사용자 지정 구성을 사용하여 새 AppDomain에서 '애플리케이션'을 시작하여 이 문제를 해결했습니다.

  • bot.cloud.config
  • bot.dev.config
  • bot.win.config

이것은 믿을없을 정도로 효율적입니다!

Azure 관련 구성을 사용하는 것은 매우 번거롭기 때문에 웹 프로젝트에서도 동일한 작업을 수행하고 싶습니다.

  • 두 구성이 동일한 위치에 있지 않으므로 디버깅하는 데 시간이 많이 걸립니다.
  • 당신은 표준이 되어야 하는 무언가를 쓰는 새로운 방법을 배워야 합니다.
  • 가끔 멍청한 구문 오류 때문에 앱이 web.config에서 다시 작동하지 않았는지 의문이 들 것입니다.

나는 여전히 그것을 하기 위한 올바른 방법을 찾고 있습니다, 이 게시물에서처럼.

또 다른 가능한 솔루션은 각각 특정 ServiceConfiguration.cscfg(dev/prod)를 사용하는 두 개의 CloudService 프로젝트입니다.Dev를 사용하여 개발하되 Prod를 배포합니다.

현재 웹을 사용할 때 문제가 발생하고 있습니다.변환 XSLT를 사용한 debug.config.Azure에서는 작동하지 않는 것 같습니다.

로컬 시스템에서 작동할지 아니면 내부의 지속적인 통합에서 작동할지에 따라 달라집니다.

  • 로컬 컴퓨터에 대해 여기서 답변하려고 했습니다. https://stackoverflow.com/a/9393533/182371
  • 지속적인 통합을 위해서는 훨씬 더 쉽습니다.구성 속성 값을 지정하는 명령줄에서 빌드하면 VS 내부에서 빌드할 때 수행되는 작업에 관계없이 구성이 변환됩니다.따라서 클라우드와 웹 프로젝트 모두에 대한 빌드 구성을 올바르게 지정하면 빌드 매개 변수에 따라 올바른 출력이 제공됩니다.

언급URL : https://stackoverflow.com/questions/4734776/azure-web-config-per-environment

반응형