3

内部サイトから実行したい開発者ツールがあります。プロジェクトのソースコードをスキャンし、その情報をDBに保存します。ユーザーがサイトにアクセスしてプロジェクトを選択し、実行できるようにしたいと思います。

プロジェクトが大きくなる可能性があるため、コードをサイトにアップロードしたくありません。アセンブリをローカルで彼らのマシンで実行できるようにしたいと思います。これを行う簡単な方法はありますか?

編集:当分の間、これはVS2005で達成する必要があることに注意する必要があります。編集2: TrendMicroのHousecall
と同様の機能を探しています。スキャンをローカルで実行したいのですが、結果をWebページに表示します

4

4 に答える 4

3

ClickOnce プロジェクト (winform/wpf) を使用できます。これは基本的に、Web サーバー経由で展開される通常のクライアント アプリです。クライアントでは、必要なことは何でも実行できます。VS2005/VS2008 では、これ (winform/wpf の場合) が「パブリッシュ」としてあり、ブラウザー (または少なくとも一部のブラウザー;-p) によって認識される「.application」ファイルが生成されます。

Silverlight でも同じことができるかもしれませんが、それにはより厳密なサンドボックスなどがあります。また、Web サーバーにすべてのデータベース作業を行うように依頼する必要があります。

于 2009-03-26T13:59:35.307 に答える
1

自分のアセンブリを自分のマシンでローカルに実行できるようにしたい

ツールをダウンロードして、ローカル マシンから実行してもらいたいと思われますが、それでよろしいですか?

于 2009-03-26T13:59:27.007 に答える
0

私はおそらく、プロジェクトデータの処理と抽出を行うある種のコマンドラインツールまたはサービスを作成するでしょう。次に、ページを使用して、Webサーバーとコマンドラインツールの両方が共通にアクセスできるプロジェクトを更新/登録します。次に、指定された時間に、手動で、またはcronまたは同様のメカニズムを介して、データベースにデータを抽出します。これを取得したら、Webサイトを使用して、最後の抽出時間と抽出されたデータを表示します。

プロジェクト/エンドユーザーが別のサブネットなどにいる場合は、エンドユーザーがツールを実行してから、データベースにデータを投稿する必要があります。

于 2009-03-26T14:10:01.117 に答える
0

場所と権限があれば、どのコードでもファイルをスキャンできます。Web サイトが別のマシンで exe を開き、それを実行して Web サーバーに含まれるファイルにアクセスできるようにするには、システム全体が事実上完全に攻撃に対して無防備であることを意味する、恐ろしく低いレベルのセキュリティが必要です。システムが完全にファイアウォールの背後にあるため、外部の干渉から保護されている場合は、コードよりもアクセス許可を確認する必要があります。

マシンで exe を実行するには、メモ帳の例に従ってみてください。ただし、指定したディレクトリも使用する必要がある場合があります。

ProcessStartInfo psi = new ProcessStartInfo("notepad.exe");
psi.WindowStyle = ProcessWindowStyle.Hidden;

プロセス p = new Process(); p.EnableRaisingEvents = true; p.Exited += new EventHandler(ExitHandlerToKillProcess); p.StartInfo = psi; p.Start();

完了したら、プロセスを強制終了することを忘れないでください。代わりに JavaScript を使用します。いずれにせよ、セキュリティ権限を監視し、これを行うリスクを覚えておいてください。

于 2009-03-26T14:07:41.903 に答える