C# 如何正确使用SPServiceApplicationCollection?

C# 如何正确使用SPServiceApplicationCollection?,c#,sharepoint,C#,Sharepoint,我正在尝试编写一个小控制台应用程序,以显示SharePoint 2010网站上正在运行的服务应用程序列表。我已经雇用了Microsoft.SharePoint以及Microsoft.SharePoint.Administration,但到目前为止我运气不太好。下面是我一直在摆弄的东西。有人能给我一些关于如何正确使用SPServiceApplicationCollection的建议吗 提前谢谢 using System; using System.Collections.Generic; usin

我正在尝试编写一个小控制台应用程序,以显示SharePoint 2010网站上正在运行的服务应用程序列表。我已经雇用了Microsoft.SharePoint以及Microsoft.SharePoint.Administration,但到目前为止我运气不太好。下面是我一直在摆弄的东西。有人能给我一些关于如何正确使用SPServiceApplicationCollection的建议吗

提前谢谢

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ServiceProcess;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;

namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {

        SPServiceApplicationCollection services = new      SPServiceApplicationCollection(String, SPFarm.Local.Services);
        foreach (SPServiceApplication service in services)
        {
            Console.WriteLine(service.Name);

            if (service is SPWebService)
            {
                SPWebService webService = (SPWebService)service;

                foreach (SPWebApplication webApp in webService.WebApplications)
                {
                    Console.WriteLine(webApp.Name);
                    Console.ReadLine();
                }

            }

        }
    }
}
}
编辑 经过一番挖掘/询问之后,我对我想要的东西提出了一个粗略的解决方案。 为了将来的参考/任何其他想要做这类事情的人,我能够通过执行以下操作获得已部署服务器的列表以及应用程序名称:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.ServiceProcess;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Administration;
    using Microsoft.SharePoint.Administration.Health;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
        var solution = SPFarm.Local.Solutions["Your Service Application Name.wsp"];
        string serverName = string.Empty;
        foreach (SPServer server in solution.DeployedServers)
        {
            serverName += server.Name;
            Console.WriteLine(server.Name);
        }

        if (solution != null)
        {
            if (solution.Deployed)
            {
                Console.WriteLine("{0} is currently deployed on: {1}", solution.Name, serverName);
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("Error!  Solution not deployed!");
                Console.ReadLine();
            }
        }

    }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ServiceProcess;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Administration.Health;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
    var solution = SPFarm.Local.Solutions["Your Service Application Name.wsp"];
    string serverName = string.Empty;
    foreach (SPServer server in solution.DeployedServers)
    {
        serverName += server.Name;
        Console.WriteLine(server.Name);
    }

    if (solution != null)
    {
        if (solution.Deployed)
        {
            Console.WriteLine("{0} is currently deployed on: {1}", solution.Name, serverName);
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("Error!  Solution not deployed!");
            Console.ReadLine();
        }
    }
  }
 }
}

经过一番挖掘/询问之后,我对我想要的东西提出了一个粗略的解决方案。为了将来的参考/任何其他想要做这类事情的人,我能够通过执行以下操作获得已部署服务器的列表以及应用程序名称:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.ServiceProcess;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Administration;
    using Microsoft.SharePoint.Administration.Health;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
        var solution = SPFarm.Local.Solutions["Your Service Application Name.wsp"];
        string serverName = string.Empty;
        foreach (SPServer server in solution.DeployedServers)
        {
            serverName += server.Name;
            Console.WriteLine(server.Name);
        }

        if (solution != null)
        {
            if (solution.Deployed)
            {
                Console.WriteLine("{0} is currently deployed on: {1}", solution.Name, serverName);
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("Error!  Solution not deployed!");
                Console.ReadLine();
            }
        }

    }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ServiceProcess;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Administration.Health;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
    var solution = SPFarm.Local.Solutions["Your Service Application Name.wsp"];
    string serverName = string.Empty;
    foreach (SPServer server in solution.DeployedServers)
    {
        serverName += server.Name;
        Console.WriteLine(server.Name);
    }

    if (solution != null)
    {
        if (solution.Deployed)
        {
            Console.WriteLine("{0} is currently deployed on: {1}", solution.Name, serverName);
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("Error!  Solution not deployed!");
            Console.ReadLine();
        }
    }
  }
 }
}

经过一番挖掘/询问之后,我对我想要的东西提出了一个粗略的解决方案。为了将来的参考/任何其他想要做这类事情的人,我能够通过执行以下操作获得已部署服务器的列表以及应用程序名称:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.ServiceProcess;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Administration;
    using Microsoft.SharePoint.Administration.Health;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
        var solution = SPFarm.Local.Solutions["Your Service Application Name.wsp"];
        string serverName = string.Empty;
        foreach (SPServer server in solution.DeployedServers)
        {
            serverName += server.Name;
            Console.WriteLine(server.Name);
        }

        if (solution != null)
        {
            if (solution.Deployed)
            {
                Console.WriteLine("{0} is currently deployed on: {1}", solution.Name, serverName);
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("Error!  Solution not deployed!");
                Console.ReadLine();
            }
        }

    }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ServiceProcess;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Administration.Health;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
    var solution = SPFarm.Local.Solutions["Your Service Application Name.wsp"];
    string serverName = string.Empty;
    foreach (SPServer server in solution.DeployedServers)
    {
        serverName += server.Name;
        Console.WriteLine(server.Name);
    }

    if (solution != null)
    {
        if (solution.Deployed)
        {
            Console.WriteLine("{0} is currently deployed on: {1}", solution.Name, serverName);
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("Error!  Solution not deployed!");
            Console.ReadLine();
        }
    }
  }
 }
}

作为更新,我想使用的实际上是SPFarm.Local.solutions如果您找到了问题的答案,请将其写在答案框中,并将其标记为已接受的答案。作为更新,我想使用的实际上是SPFarm.Local.solutions如果您找到了问题的答案,在答案框中填写,并将其标记为已接受答案。