هو هناك .صافي المكتبة أو API للتفاعل مع/تحرير قاعدة تعريف IIS?

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

  •  08-07-2019
  •  | 
  •  

سؤال

...أو أنا عالقة المتداول بلدي "XML تقطيع" وظائف.أود أن إنشاء صغير tasktray التطبيق لذلك يمكنك بسرعة إعادة نقطة Virual الدليل إلى واحدة من العديد من المجلدات على القرص الصلب.

قليلا من الخلفية:

لدي 3 مختلفة إس فروع لدينا رمز قاعدة على ديف آلة.

Current Production Branch    ( C:\Projects\....\branches\Prod\ )
Next Release Canidate Branch ( C:\Projects\....\branches\RCX\ )
Trunk                        ( C:\Projects\....\trunk\ )

لدينا التطبيق يتكامل مع 3rd الطرف CMS التي ركبت في

http://localhost/cms/

من أجل العمل على التطبيق لدينا أن يعيش في نفس الدليل الجذر.لذلك:

http://localhost/app/

اعتمادا على فرع أعمل على إعادة مشيرا /app/ الدليل إلى واحدة من 3 مسارات المذكورة أعلاه عن طريق الذهاب إلى "إدارة IIS".ظننت أنه سيكون مفيدا سريعة التطبيق أن تفعل ذلك بالنسبة لي.

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

المحلول

حسنا هذه ليست علبة التطبيق ولكن يمكنك تشغيله من سطر الأوامر.مجرد تغيير المسارات الفعلية حسب الضرورة:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;

namespace Swapper
{
  class Program
  {
    static void Main(string[] args)
    {
      using (DirectoryEntry appRoot = 
               new DirectoryEntry("IIS://Localhost/W3SVC/1/root/app"))
      {
        switch (args[0].ToLower())
        {
          case "prod":
            appRoot.Properties["Path"].Value = @"e:\app\prod";
            appRoot.CommitChanges();
            break;

          case "rcx":
            appRoot.Properties["Path"].Value = @"e:\app\rcx";
            appRoot.CommitChanges();
            break;

          case "trunk":
            appRoot.Properties["Path"].Value = @"e:\app\trunk";
            appRoot.CommitChanges();
            break;

          default:
            Console.WriteLine("Don't know");
            break;
        }
      }
    }
  }
}

ثم تشغيل كما في:

C:\>swapper prod
C:\>swapper rcx

الخ

نصائح أخرى

أنا لم تستخدم هذه الذات ، لذلك أنا لست متأكدا 100 ٪ فإنه سيتم حل المشكلة الخاصة بك.ولكن إلقاء نظرة على النظام.DirectoryServices في .صافي.فإنه يمكن الوصول إلى IIS.

MSDN مساعدة DirectoryServices

حسنا, بالنسبة IIS 7 هناك .صافي المجمع لتمكين إدارة IIS عن طريق .صافي.راجع هذا الرابط لمزيد من التفاصيل ،

http://learn.iis.net/page.aspx/165/how-to-use-microsoftwebadministration/

عن النسخة السابقة من IIS (5 أو 6) ، ADSI WMI واجهات المقدمة ،

http://msdn.microsoft.com/en-us/library/ms525885.aspx

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