-1

ファイルのリストを表示する Web アプリケーション (ASP.NET MVC) を開発し、比較のために.xml2 つのファイルを選択し.xmlて、Beyond Compare 3 のような比較ユーティリティを使用します。

System.Diagnostic.Process基本的に、スクリプトに対して実行され、差分レポート ファイルを生成するScrapt ファイル (Beyond Compare 3 Script) があります。実行時に生成された差分レポートを表示するプロセスでスクリプトを使用したいと考えています。Visual Studio からアプリケーションを実行すると、完全に実行され、予想される差分ファイルが表示されますが、このアプリケーションを IIS Web サーバーに展開すると、差分ファイルが生成されず、単に入力ファイルが出力ファイルとして表示されます。

以下は、プロセスを開始し、Beyond Compare 結果ファイルを出力ファイルとして生成するメソッドです。ただし、次のコードは Visual Studio 開発サーバーで実行されていますが、IIS では機能しません (Web サイトは IIS サーバーにデプロイされます)。

public string GenerateSortedXMLFile(string inputfilepath)
{
       string outputfile, inputfile, BCompare, Script;
       inputfile = inputfilepath;
       outputfile = ConfigurationManager.AppSettings["MFxmlSortFilePath"];
       outputfile = outputfile + System.Guid.NewGuid().ToString() + ".txt";
       BCompare = ConfigurationManager.AppSettings["BCompareExe"];
       Script = ConfigurationManager.AppSettings["Script"];

       Process p = new Process
       {
            StartInfo =
                    {
                        FileName = "\"" + BCompare + "\"",
                        Arguments = " " + "\"" + "@" + Script + "\"" + " " + "\"" + inputfile + "\"" + " " + "\"" + outputfile + "\"  /grant BUILTIN\\Users:IIS_IUSRS"
                    }
                };

       p.Start();
       p.WaitForExit();
       p.Close();
       return outputfile;
}
4

2 に答える 2

0

Webサーバーでプロセスを実行することはできません。確かに、開発マシンでそれを行うことができます。そこには、はるかに多くの権限が必要だからです。

このリンクをたどってください、それはあなたに役立つ必要があります。これは、CGIプログラムの登録、アクセス許可の付与、およびIIS対応のWebサーバーでの実行をガイドします。

http://blogs.iis.net/thomad/archive/2010/04/04/how-to-run-a-cgi-program-under-iis-7-0-or-iis-7-5.aspx

于 2011-08-20T07:25:18.627 に答える
0

よくわかりませんが、同様の質問がStackoverflowで行われたと思います。

CGI プログラム (Tigran が指摘したように) が (何らかの理由で) 選択肢にならない場合、2 つの選択肢があります。

  1. デフォルトでは、Web サイトのアプリケーション プールは制限された権限でのみ実行されます。Web サイトのアプリケーション プールをローカル システム アカウントで実行するように構成します。ただし、セキュリティ上の理由から、このオプションはお勧めしません。上記のリンクをたどって、これを達成する方法の段階的なガイドを参照してください。
  2. アプリケーション プールの既定の設定を変更しないでください。代わりに、コンソール アプリケーションを実行するためのサービス メソッド (CompareXml など) を提供する WCF サービスをホストする Windows サービスを作成します。Web サイト内から、WCF サービスの CompareXml メソッドを呼び出します。

お役に立てれば。

于 2011-08-20T10:24:05.323 に答える