를 관리 할 수 있는 가장 좋은 방법이 연결 문자열에서 프로젝트 모두 포함하는 고전적인 ASP ASP.Net 1.1 코드?

StackOverflow https://stackoverflow.com/questions/1610061

문제

나는 프로젝트가 있는 나는 상속되는 주로 클래식 ASP 응용 프로그램그러나,혼합에서 응용 프로그램의 소수 ASP.net 페이지입니다.의 일부 ASP.net 페이지 1.1 과하지 않는 코드를 사용하여 뒤 모델입니다.

클래식 ASP 페이지의 숫자가 있/include 디렉토리에 있는 파일에 대한 데이터베이스 연결이 있습니다.이 ASP.Net 페이지 연결 문자열에서 하드 코딩에서 자신의 코드입니다.

하이 혼란을 정의 연결 문자열의 관리를 개발 환경입니다.

을 수 있는 방법에 대한 권장 사항이 있을 효과적으로 이렇게 하는 것입니다 작업 모두에 대한 고전 및 ASP ASP.Net 페이지?

감사

도움이 되었습니까?

해결책

어 web.config 파일에서 루트의 asp 클래식 사이트입니다.ASP.net 페이지 없이 뒤에 코드(고 가정하면 어떤 가상 디렉토리/응용 프로그램)을 사용하는 웹.config 파일에 있습니다.를 넣을 수 있 연결 문자열이다.당신은 가능성이 끝까지 두 가지는 문자열 집합,그러나 그보다 더 많은.고 당신이 정말로 원하는 경우,작성할 수 있습니 asp 클래식 코드를 읽는 config 파일에 있습니다.

다른 팁

이 방법은 초점을 맞추고 분리에서 연결 문자열에서 파일이 웹 소스 코드에 대한 버전 관리 시스템(예 svn).

파:

c:\inetpub\config\config.xml
c:\inetpub\wwwroot\global.asa
c:\inetpub\wwwroot\onInit.asp

config.xml:

<?xml version="1.0" encoding="utf-8" ?>
<root>
  <database
      ip="XXXX"
      catalog="XXXX"
      id="XXXX"
      password="XXXX"
    />
</root>

글로벌입니다.asa:

<script runat="Server" language="VBScript">
    Sub Application_OnStart()        
        server.execute("/onInit.asp")
    End Sub

    Sub Application_OnEnd()
    End Sub
</script>

onInit.asp:

<% 

    dim xmlDoc, xmlPath, objNodes
    set xmlDoc = server.CreateObject("microsoft.xmldom")
    xmlDoc.async = false        
    xmlPath = Server.MapPath("/")
    xmlPath = left(xmlPath, inStrRev(xmlPath, "\")) & "config\config.xml"
    xmlDoc.load xmlPath

    set objNodes = xmlDoc.selectNodes("//database") 

    application("connectionString") = "Provider=SQLOLEDB.1;Persist Security Info=True;"_
        & "Data Source="     & objNodes.item(0).getAttribute("ip") & ";"_ 
        & "Initial Catalog=" & objNodes.item(0).getAttribute("catalog") & ";"_
        & "User ID="         & objNodes.item(0).getAttribute("id") & ";"_
        & "Password="        & objNodes.item(0).getAttribute("password")

    set objNodes = nothing
    set xmlDoc = nothing  

%>

Hmm.Guess I'm not the only one 엉망으로 다음과 같이 청소하는 것이다.

가 없 유용한 응답,당신을 위해 그러나 여기에서의 전략을 우리는 함께했다.을 넘어 당신의 질문,하지만 잘하면 그것은 질문에 대한 답변을 생각하지 않았을 묻는 아직이다.하기 전에 작업이 거대한,그리고 나는 당신을 제공하는 많은 끝으로 나는 할 수 있습에서 전체 프로세스,하지만 연결 문자열입니다.

  • 완전히 재구성하는 우리의 소스 코드
  • 완전히 구성 파일 구조에서 우리의 웹사
  • fix 코드 우리는 그것을 수정, 보다는 시도를 한 번에 모든 것으로 큰 프로젝트입니다.
  • 그것을 명시된 목적으로 변환을 asp asp.net (고 있어 구매에서부터 우리의 관리자에 의해 정당화하는 프로젝트와 함께 노동력을 절감을 통해 빠르게 개발/유지 보수입니다.)
  • 만들어 및 문서화된 표준에 대한 저장을 연결 문자열에는,일반적인 파일 공유 CSS 수 있습니다.
  • 의 일환으로 우리의 조직 개편,우리는 글로벌 공유 폴더는 우리를 참조할 수 있습에서 우리의 모든 프로젝트입니다.이 포함되어 일반적인 이미지,CSS,등등에서 사용되는 여러 개별 프로젝트를 웹 사이트,등등.
  • 우리는 또한이 지정하는 모든 웹 사이트 일반적으로 폴더 CSS,스크립트,그리고 img 하위 폴더도록 모든 프로젝트에 우리는 작업입니다.
  • 일단 우리가 우리의 첫 번째 웹 응용 프로그램을 다시 작성 완료되면,우리가 만든 프로젝트 템플릿을 새로운 웹사이트를 시작하는 프로젝트를 아주 간단합니다.

의 부작용으로 모든 일을 우리가 우리가 갔을 통해 두 업그레이드 Visual Studio 에서 매우 고통을 사용하여 간단한 방법으로 변환을 마법사를 제공합니다.에서 대 2003 을 대 2005,다음 VS2008 는 고통이었.

또한,우리의 선택에서 원본의 제어를 기반으로 만들어졌기에 우리는 어떻게 해결하고 싶었습니다.우리가 사용 TFS,하지만 제한되었 관계에 의해서 사용하는 프로젝트 및 VS 솔루션입니다.우리가 발견를 사용하여 전복은 우리보다 더 큰 유연성을 TFS,그래서 우리는 할 수 있었다 놓는 우리의 소스 코드를 디렉토리 구조에서 훨씬 더 다루기 쉬운 방법보다 TFS 것이 허용됩니다.

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