ASP.netからvSphere APIを実行する方法は?

このQ&Aのポイント
  • ブラウザから仮想マシンの管理をする方法を調べています。ASP.netで開発したWebアプリで、vsPhere Web Service SDK5.0のサンプルを利用し、VCenterServerへのログインやスナップショットの作成・削除を行いたいのですが、毎回ログイン処理に時間がかかります。セッションの再利用がされていないことが分かりました。vsphere web service sdkの使用方法やexeの呼び方について、アドバイスをいただけると助かります。
  • ASP.netからvSphere APIを使用して、仮想マシンの管理ツールを開発していますが、vsPhere Web Service SDK5.0のサンプルを実行する度にログイン処理が行われ、時間がかかります。セッションの再利用がされていないようです。vsphere web service sdkの使い方やexeの呼び方について詳しく知りたいです。アドバイスをお願いします。
  • ASP.netでvsPhere Web Service SDK5.0のサンプルを利用し、VCenterServerへのログインやスナップショットの作成・削除を行いたいのですが、ログイン処理に時間がかかるため、セッションの再利用方法を調べています。vsphere web service sdkの使用方法やexeの呼び方についてのアドバイスをいただけると助かります。
回答を見る
  • ベストアンサー

ASP.netからvSphere APIを実行

お世話になります。 現在、下記の環境で、 WEBベースでのESXI管理ツール開発を試みて居ます。 開発機  WINDOWS Server2008 (仮想) 開発ツール  VisualStudio WD2010 Express(管理画面作成に使用)  VisualStudio 2010 C# Express (vsPhere Web Service SDK5.0のビルドに使用) 使用DB  SQLServer2008R2 【目的】 目的はブラウザから仮想マシンの管理をする事です。 vSphereClientでVCenterにログインした時のようなイメージで、 IIS~VCServer間での接続は一度認証を受けたら、 後は認証なしでvsphereAPIを動かしたいのですがその方法が判りません。 【現状】 ASP.netで開発したWebアプリで、exeを実行します。 この実行するexeは、VMWAREから配布されている vsPhere Web Service SDK5.0のサンプルで、 VCenterServerへのログイン(connect.exe) や、 スナップショットの作成・削除(VMsnapshot.exe) を行います。 WebServerからのexe実行はできるのですが、 このexeを実行する度にログイン(認証)処理が行われ、 処理には非常に時間が掛かります。 サンプル(C#コード)に、セッションIDを取得するコードを追記し、 デバッグしますと、毎回違う値が返ってきまして、 セッションの再利用がされていない事が判ります。 vsphere web service sdkがセッションの利用をしていないとは考え難いのですが 使用法、exeの呼び方に間違いがあるのか、自力で目的を達成できずにいます。 皆様のお知恵をお借りしく思います。何卒ご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • localica
  • ベストアンサー率52% (202/385)
回答No.1

セッションについては、この辺りでしょうか。 http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.wssdk.pg.doc_50%2FPG_Ch6_Authenticate_Authorize.8.2.html web sdkは今のところうちでは予定がないので、あまり的確な返答ではありませんが。

wendy0303
質問者

お礼

localicaさん ありがとうございます。 まだ解決はしておりませんが、この部分は セッション情報はSessionManagerオブジェクトで管理する、 その説明が書かれているようです。 SessionManagerをキーワードに、 vSphere web service SDK 5.0のProgrammingガイド内を 検索しますと、30ページあたりにそれらしいサンプルコードを 見つける事が出来ました。 http://pubs.vmware.com/vsphere-50/topic/com.vmware.ICbase/PDF/vsdk_prog_guide.pdf Javaで書かれており、現場がC#指定の為使えずにいますが ですが多少目的に近づいた気がします

wendy0303
質問者

補足

パフォーマンスに幾分問題が残るものの、PowerCLIを使う事になりました。 本件、目的とした方法での解決は出来ませんでしたが、Closeさせて頂きます。 ありがとうございました。

関連するQ&A

  • vSphere Clientはどこにある?

    VMwareを勉強してるところなんですが、vSphere Web Clientをメインで操作するものの、vSphere Clientでの操作も慣れておいた方が良いということでインストールしようとしています。 ですが、入門書ではESXiで設定したIPアドレスをブラウザに打てばWelcomeページというものが表示されて、そこにダウンロードのリンクが貼られているとのことなんですが、IPアドレスを打ってもログイン画面しか表示されず、VMwareのサポートページに言っても同じようにWelcomeページからダウンロードしろみたいなことが書かれているだけで、一向に進展がありません。 他のサイトではダウンロードしてきたESXiのインストール用ISOの中に、vSphere Clientのexeファイルが入っていて、それでインストールできるというようなことも書かれてあったんですが、exeは特に見当たりません。 vSphere Clientってどこにあるんでしょうか? 使用しているのは、VMware vSphere Hypervisor 6.7 u3です。

  • ASP.netよりAdministratorでEXEを実行できません。

    ASP.netよりAdministratorでEXEを実行できません。 「http://questionbox.jp.msn.com/qa5913450.html」の質問に対する追加情報です。 (ソースは上記質問(URL)に記載しているため省略します。) ------------------------------ ■環境 Windows2003 Server IIS 6.0 SSL使用 .net Framework 2.0以降 開発言語 VB.net ------------------------------ VS2005での開発環境では正常に動作するのですが、サーバではEXEの実行が行えません。 proc.ExitCodeの戻り値が-1066598274です。 EXEが実行されているかを調べるために、処理の始めと処理の途中でログを 書き出すようにしたのですが、ログが書き出されていませんでした。 イベントビューアのアプリケーションログを確認したところ、以下のようなログが出力されていました。 Webを配置するルート以下のパスに置いて実行しても同様のエラーがでます。 リモートデスクトップでサーバにログインし、コマンドラインでEXEを実行したところ、正常にログが出力されたので、EXEのプログラムには問題はないと思われます。 サーバ環境ではなく、ローカルPC(Windows XP)にてIIS5.1でテスト環境を作成し、実行したところ同様にイベントビューアのアプリケーションログでエラーが発生しました。 試しに別のEXEを指定して実行しても同様でした。 IIS Admin Service はデスクトップと対話するアプリケーションを許可しませんとの情報により (http://support.microsoft.com/kb/555134/ja) IIS Admin Service の「対話の 許可 サービス」にチェックをしましたが状況はかわりません。 動作環境によりASP.netからEXEが実行できないのでしょうか? 環境設定で必要なものがありましたらお教えください。 --------------------------------------------------- イベントの種類:情報 イベント ソース:Application Error イベント カテゴリ:(100) イベント ID:1004 日付:2010/05/23 時刻:15:44:21 ユーザー:N/A コンピュータ:xxxxxx 説明: 処理待ちエラーの報告: エラー発生アプリケーション WindowsApplication1.exe、バージョン 1.0.0.0、エラー発生モジュール kernel32.dll、バージョン 5.2.3790.3959、エラー発生アドレス 0x0000bee7. ---------------------------------------------------

  • ASP.netよりAdministratorでEXEを実行できません。

    ASP.netよりAdministratorでEXEを実行できません。 ------------------------------ ■環境 Windows2003 Server IIS 6.0 SSL使用 .net Framework 2.0以降 開発言語 VB.net ------------------------------ いつもお世話になっております。 ASP.netでのローカルユーザ管理(パスワードの変更)を行いたいと思い、 以前質問をさせていただいたきました。 http://questionbox.jp.msn.com/qa5886000.html VS2005での開発環境ではうまくいったのですが、Windows2003 Server、IIS 6.0 の環境で実行したところ、ASP.netよりAdministratorでEXEを実行できません でした。 EXEからの戻りコードを調べたところ「-1066598274」が返ってきています。 EXEが実行できていないように思うのですが、原因がわかりません。 解決方法をお教えください。 Sub Exec() Dim strMsg As String = "" Dim strPass = "adminpass" Try Dim pinf As New ProcessStartInfo("C:\WindowsApplication1.exe", "") pinf.UserName = "Administrator" pinf.Password = New SecureString() For Each c As Char In strPass.ToCharArray() pinf.Password.AppendChar(c) Next pinf.UseShellExecute = False Using proc As Process = Process.Start(pinf) Call proc.WaitForExit() Select Case proc.ExitCode Case 0 : strMsg = "正常終了" Case Else : strMsg = "Err:" & proc.ExitCode End Select End Using Catch ex As Exception strMsg = "予期せぬエラー" Finally ClientScript.RegisterStartupScript(Page.GetType(), "s", String.Format("alert('{0}');", strMsg), True) End Try End Sub

  • VC++から引数付きexeファイルの実行

    タイトルの通り、VC++から外部ファイルを実行したいのですがどのような関数を使えばよいのでしょうか? exeファイルを実行中は親プロセスであるVCのプログラムの方を止めておきたいのです。 出来ればexeファイルは引数付きで実行したいと思いますので、よろしくお願いします。 開発環境はVisualStudio2005です。

  • ASP.NET(C#)で開発中のプログラムでAD認証したいのですが、

    ASP.NET(C#)で開発中のプログラムでAD認証したいのですが、 ASP.NET(C#)で普通のユーザIDとパスワードを入れてDBに問い合わせ一致したら次画面へ遷移という、ごく普通のログイン画面を作りましたが、これにAD認証を絡めたいと考えています。 クライアントPCには2種類ありまして、ドメインに参加しているPCと参加していないPCが有りまして、ドメインに参加していないPCは通常のログイン画面を表示し認証を行いますが、ドメイン参加のPCからは、まず、WEB画面でログイン画面のURLをたたいたら画面を表示せずにAD認証を自動で行い、認証が通ればログイン画面を出さずに次画面へ遷移したい考えです。 この、AD認証を裏で行い認証が取れたらログイン画面を飛ばして次画面へ自動的に遷移する画面を作りたいのですが、サンプル等があればURL等をご教示願えますと助かります。 色々見て回りました。画面からログインID、パスワードを入力してAD認証することまではプログラムでテストして実現可能なことは確認できていますが、Windowsにログインできているので、あらためて業務の画面でログインをしたくないという思いから、ログイン無しで業務の画面に遷移したいと思いました。 宜しくお願い致します。

  • ASP.Net Session管理について

    ASP.Net 2.0 で開発をする初心者です。 Session管理について教えてください。 ログインページからいくつかのサブページに渡る際     Response.Redirect("~/A.aspx") それぞれのページでセッション設定しないといけないのでしょうか?     Session("Key") = Me.TextBox1.Text よろしくお願い致します。 Login.aspx --- Menu.aspx--|--- A.aspx                  |--- B.aspx                       |--- C.aspx                            |--- D.aspx                  |--- E.aspx

  • VSのデバッグ実行とデバッグなし実行について

    あいまいな質問になってしまい申しわけありませんが、何か手がかりになるような事でも知っている方がいらっしゃればと思い投稿しました。 VisualStudio2008 ProfessionalEditionで、C#による開発を行っています。 リリースビルドを行い、デバッグ実行(VS上でF5キー押下)すると正常に動作するのですが、デバッグなし実行(Ctrl+F5)や生成されたexeの起動を行うと途中でフリーズしてしまいます。 何か良い方法があればよろしくお願いします。

  • ASP.NETからSQLServerに接続出来ない

    ASP.NETからSQLServerにアクセスしようとすると、ログイン画面が表示されてしまいます。 今まで、問題なく運用出来ていましたが、新たにデータベースにテーブルを追加し、それにアクセスする処理を実行したところ、ログイン画面が表示されてしまいました。実施した手順は、以下の通りです。 ノートPC(開発機)のMicrosoft Visual Web Developer 2005でデータベースのテーブルを新規追加し、プログラムを検証したところ問題なかったので、プログラムを本番機(サーバ)にコピーし検証しようと思い、サーバ側でSQL Server Management Express 2005を用いてテーブルを新規追加して検証したところ、ログイン画面が表示されてしまいました。 実施した手順 1.ASP.NETのプログラム内で、新しいテーブルを参照する処理を追加。 2.ノートPC(開発機)内のMicrosoft Visual Web Developer 2005でテーブルを新規追加し、プログラムを検証。問題なくアクセスできた。 3.ノートPC(開発機)から本番機サーバにプログラムをコピー。 4.本番機サーバのSQL Server Management Express 2005でテーブルを新規追加。 5.本番機でプログラムを実行したところ、ログイン画面が表示されてしまった。 補足:従来のテーブルはsa認証なので、同様にsa認証でテーブルを追加。 データベース:SQLServer2005 OS:WindowsServer2003 SD SP2 このような場合は、どのように対応したら良いのでしょうか? ご存知の方いらっしゃいましたら、ご教授願います。 よろしくお願いいたします。

  • リリース実行やExe実行で動作が異なる

    質問です。 Microsoft Visual Studio 2008 Professional Edition - JPN Microsoft DirectX SDK (August 2007) 上記の環境で開発を行っているのですが、 Debug実行、Release実行、Exe実行で動作ができなくなることが あるのですが、原因はなんなんでしょうか? ご教授御願い致します。 特にコンパイル環境の設定を変更したわけではなく、 リリース環境も"最大限に最適化"のみとなっています。 フォルダパス等も間違っておらず、DirectXの描画が不正となります。 基本的にDebug実行では、問題なく、リリース環境とExe実行に問題が発生します。 原因は、環境構築の違いからくるものだと思うのですが、 解決するには、どうすればよいのでしょうか? また、他の問題があるのでしょうか? 宜しく御願い致します。

  • Mutexでのexeの重複実行

    Mutexでのexeの重複実行 実行プログラムにMutexを使用して重複起動を防止しました。 目的は同じプログラムをn個実行はするが、同時実行は許可したくないためです。 この場合exeはいくつでも起動できるのでしょうか? またexeの実行順序はどうなるのでしょうか?(起動した順なのか、Mutexの解放を検知した順なのか) 本来の目的とは違うのかもしれませんが、このような使用もありかな?と考えました。 よろしくお願いいたします。