質問

私が課題であるかが課題とこのコード:

public static ArrayList GetEthernetMacAddresses()
{
    ArrayList addresses = new ArrayList();
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapter");

    // This causes GetInstances(options) 
    // to return all subclasses of Win32_NetworkAdapter
    EnumerationOptions options = new EnumerationOptions();
    options.EnumerateDeep = true;

    foreach (ManagementObject mo in mc.GetInstances(options)) {
        string macAddr = mo["MACAddress"] as string;
        string adapterType = mo["AdapterType"] as string;

        if (!StringUtil.IsBlank(macAddr) && !StringUtil.IsBlank(adapterType))
        {
            if (adapterType.StartsWith("Ethernet")) {
                addresses.Add(macAddr);      
            }
        }    
    }
    return addresses;
}

当(Win2003)仮想サーバー、この作品が実行の一環としてコンソール-アプリケーションからwebサービスを走らIIS(同になります。

または、使用できますこのコードをwebサービスIIS(仮想サーバーの戻り値:

public static string GetMacAddresses()
{
    ManagementClass mgmt = new ManagementClass(
        "Win32_NetworkAdapterConfiguration"
        );
    ManagementObjectCollection objCol = mgmt.GetInstances();

    foreach (ManagementObject obj in objCol)
    {
        if ((bool)obj["IPEnabled"])
        {
            if (sb.Length > 0)
            {
                sb.Append(";");
            }
            sb.Append(obj["MacAddress"].ToString());
        }
        obj.Dispose();
    }
}

なぜ一作目なのですか?

だけがなぜそういうわけで、これによりIIS webサービスは、仮想マシン?

の手によりお願い申し上げます。


更新: しかしながら電話での放射性物質吸着除染剤の異なるレベルのMS支援のた最終的にこの"設計".

ですので、ドライバーの仮想ネットワークアダプタのドライバーに答えしたことには変更コード"の号です。

することができな信頼性の高い検査コードの仮想サーバがない限り、同じコードを使用した物理サーバーからない保証は、サーバーの正確なレプリカ...

役に立ちましたか?

解決

大丈夫で書いたこのコードの問題:

public void GetWin32_NetworkAdapter()
{
    DataTable dt = new DataTable();
    dt.Columns.Add("AdapterName", typeof(string));
    dt.Columns.Add("ServiceName", typeof(string));
    dt.Columns.Add("AdapterType", typeof(string));
    dt.Columns.Add("IPEnabled", typeof(bool));
    dt.Columns.Add("MacAddress", typeof(string));

    //Try getting it by Win32_NetworkAdapterConfiguration


    ManagementClass mgmt = new ManagementClass("Win32_NetworkAdapter");
    EnumerationOptions options = new EnumerationOptions();
    options.EnumerateDeep = true;

    ManagementObjectCollection objCol = mgmt.GetInstances(options);

    foreach (ManagementObject obj in objCol)
    {
        DataRow dr = dt.NewRow();
        dr["AdapterName"] = obj["Caption"].ToString();
        dr["ServiceName"] = obj["ServiceName"].ToString();
        dr["AdapterType"] = obj["AdapterType"];
        dr["IPEnabled"] = (bool)obj["IPEnabled"];
        if (obj["MacAddress"] != null)
        {
            dr["MacAddress"] = obj["MacAddress"].ToString();
        }
        else
        {
            dr["MacAddress"] = "none";
        }
        dt.Rows.Add(dr);
    }

    gvConfig.DataSource = dt;
    gvConfig.DataBind();

}

時渋谷、のんべい横丁にあるバー。身体IISボックスを取得します:物理IISサーバー http://img14.imageshack.us/img14/8098/physicaloutput.gif

同じコードをバーチャルIISサーバー:仮想サーバー http://img25.imageshack.us/img25/4391/virtualoutput.gif

見間関係についての理解を得ます。 であります。)仮想サーバーとならないの"AdapterType"文字列です。その独自のコードに失敗した.

これまで興味深い。の場合仮想サーバーに"仮想"を表現したリアルIISサーバーが記載されていないのはなぜで返し同じ価値観を

他のヒント

されている理由は何でしょうか二つの帰結果は?これにより、異なるユーザーアカウントを取得するでしょう異なる結果から、コンソールからのサービスです。

なぜ(1)合(2)。することは可能でnullの結果adapterTypeを返しでnull値?その場合、そのコードを取り扱うこですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top