0

Silverlight アプリケーション (c#) を作成していますが、Linux サーバーにあるシェル スクリプトを実行する必要がありますか?

誰でも助けてくれませんか?

4

2 に答える 2

1

@テクノサウルスは正しいです。サーバーへの cgi (perl、ruby など) または単純な http(s) リクエストを使用できます。同様に:http://your-server-address/execute.phpphp(または他の何か)コマンドshell_execまたはrubyコマンド、またはスクリプト出力を処理してユーザーに送信したいものを使用します。


例:
アプリケーション (ironruby):

host = "your_server_address"
wclient = System::Net::WebClient.new
wclient.download_string_completed{|wc, e|
    # do something with e.Result
}
wclient_data.download_string_async(System::Uri.new("#{host}/get_users_dirs.php")))

get_users_dirs.php:

print shell_exec("bash ./get_users_dirs.sh");

get_user_dirs.sh

ls /home  

または、 PuTTYのような独自の ssh クライアントを開発することもできます

于 2013-06-08T09:08:01.007 に答える
0

おそらくOut of Browserモードで実行することがあなたが探している答えです。

昇格されたアクセス許可で Out Of Browser を実行するように Silverlight アセンブリが構成されている OOB から COM を呼び出すことができます。そこから、実質的に何でもできます。

例えば:

if (Application.Current.HasElevatedPermissions && ComAutomationFactory.IsAvailable)
{
    dynamic cmd = ComAutomationFactory.CreateObject("WScript.Shell");
    cmd.Run(@"c:\windows\notepad.exe", 1, true);
}

この記事は、プロジェクトのセットアップに役立ちます

Also note that this will only work in Windows, hence the check for ComAutomationFactory.IsAvailable

于 2013-02-13T17:39:27.857 に答える