أفضل طريقة لإدارة سلاسل اتصال في مشروع تحتوي على كل ASP الكلاسيكية ، ASP.Net 1.1 القانون ؟

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

سؤال

لدي مشروع أنني قد ورثت هذا هو في المقام الأول ASP الكلاسيكية التطبيق ؛ ولكن اختلط في التطبيق هي حفنة من ASP.net صفحات.بعض ASP.net صفحات 1.1 و لا تستخدم التعليمات البرمجية خلف النموذج.

الكلاسيكية صفحات ASP عددا من /تشمل الدلائل حيث هناك ملف اتصالات قاعدة البيانات.على ASP.Net صفحة سلسلة الاتصال الثابت تلوينها في التعليمات البرمجية الخاصة بهم.

أحاول تنظيف هذه الفوضى من سلاسل اتصال بحيث أنه من الأسهل لإدارة عبر بيئات التطوير.

هل لدى أحدكم أي توصيات حول كيفية كنت قد تكون قادرة على القيام بذلك على نحو فعال من شأنها أن تعمل على حد سواء الكلاسيكية ASP ASP.Net صفحات ؟

شكرا

هل كانت مفيدة؟

المحلول

ووضع ملف web.config في جذر الموقع آسيا والمحيط الهادئ الكلاسيكي. سوف صفحات ASP.net مع أي رمز وراء (وافتراض عدم وجود الدلائل الظاهرية / التطبيقات في أي مكان) استخدام هذا الملف web.config. يمكنك وضع سلاسل اتصال هناك. هل من المحتمل أن ينتهي وجود مجموعتين من الخيوط، ولكن هذا أفضل من غيرها الكثير. وإذا كنت تريد حقا أن، يمكنك كتابة بعض آسيا والمحيط الهادئ كود الكلاسيكية لقراءة هذا الملف التكوين.

نصائح أخرى

وهذه الطريقة تركز على عزل ملف سلسلة الاتصال من الجاسوس لنظام شفرة المصدر التحكم في الإصدار (مثل إس).

والملفات:

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>

وglobal.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  

%>

همم.أعتقد أنني لست الوحيد مع فوضى مثل هذا لتنظيف.

ليس لدي جدا من المفيد الإجابة بالنسبة لك, ولكن هنا هو استراتيجية توصلنا مع.فإنه يذهب إلى أبعد من سؤالك ، ولكن نأمل أن يجيب عن أسئلة لم يعتقد أن نسأل بعد.المهمة قبل ضخمة ، أود أن أقدم لك العديد من النصائح ما أستطيع على العملية برمتها وليس فقط سلاسل اتصال.

  • تماما إعادة تنظيم التعليمات البرمجية المصدر لدينا
  • تماما إعادة تنظيم بنية الملف على موقعنا
  • إصلاح رمز كما أننا بحاجة إلى تعديل, بدلا من محاولة للقيام كل شيء في مرة واحدة كما هو مشروع كبير.
  • جعله الهدف المعلن لتحويل asp الكلاسيكية إلى asp.net (و حصلت في شراء من قبل مدير تبرير المشروع مع توفير العمالة عبر أسرع التنمية/الصيانة.)
  • إنشاء معايير موثقة لتخزين سلاسل اتصال مشتركة الملفات المشتركة ملفات CSS ، إلخ.
  • كجزء من التنظيم ، لدينا العالمي مجلد مشترك نتمكن إشارة من أي من مشاريعنا.يحتوي هذا المشتركة الصور, CSS, إلخ التي يتم استخدامها عبر العديد من المشاريع الفردية المواقع على شبكة الإنترنت الخ.
  • كما حددت أن كل موقع على شبكة الإنترنت يكون المشترك مجلد مع CSS, النصي, و img المجلد الفرعي بحيث كل مشروع نعمل عليه هو ثابت.
  • مرة واحدة حصلنا على أول تطبيق ويب إعادة كتابة الانتهاء ، أنشأنا مشروع قالب لجعل بدء مشروع موقع ويب جديد بسيط جدا.

كأثر جانبي من كل العمل الذي قمنا به ونحن قد ذهبت من خلال اثنين من ترقيات في Visual Studio جدا ألم ببساطة عن طريق استخدام التحويل المعالجات.من مقابل 2003 VS 2005 ثم إلى VS2008 كان مؤلم.

أيضا لدينا خيار في المصدر السيطرة على كيفية أردنا إصلاح الفوضى.كنا باستخدام TFS, ولكن كانت محدودة بسبب العلاقة بين TFS المشاريع مقابل الحلول.وجدنا أن استخدام التخريب سمح لنا مرونة أكبر من TFS, لذلك كنا قادرين على وضع التعليمات البرمجية المصدر لدينا بنية الدليل في أكثر قابلية للإدارة من TFS من شأنه أن يسمح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top