-1

Sav32Cli.exe を asp.net c# アプリケーションに統合し、ローカル マシンで正常に動作していますが、テスト サーバーに移動すると、「コード 2 - 実行を妨げるエラーが検出された場合」というエラーが発生します。

シナリオは、1 人だけがアクティビティを実行すると正常に動作しますが、同時接続が同じアクティビティを実行すると、一部の接続でこのエラーが発生します。

実際のシナリオ: ユーザーが pdf ファイルをアップロードするページがあり、ファイルがサーバーにアップロードされるとすぐに、sop-hos を介してスキャンを実行し、複数のユーザーが同じアクティビティを実行すると、次のエラーが発生します: コード 2 -さらなる実行を妨げる何らかのエラーが発見された場合。ですから、このエラーを回避してアプリケーションにスキャンを正常に実装するにはどうすればよいか、皆さんから知りたいと思います。

以下は、スキャンをアプリケーションに統合するために作成したコードです。

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
try
{
    string filePath = sFileDetails.DirectoryName + "\\" + sFileName;
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    startInfo.FileName = "C:\\Program Files (x86)\\Sophos\\Sophos Anti-Virus\\sav32cli.exe";
    startInfo.Arguments = String.Format(@" -ss ""{0}""", filePath); 
    process.StartInfo = startInfo;
    process.StartInfo.Verb = "runas";
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.UseShellExecute = false;
    process.Start();
    string output = process.StandardOutput.ReadToEnd();
    StringBuilder objStrBuilder = new StringBuilder();
    objStrBuilder.AppendLine("Status  " + output.ToString());
    int i = process.ExitCode;
    objStrBuilder.AppendLine("Code " + i.ToString());
    File.WriteAllText(sFileDetails.DirectoryName + "\\" + Convert.ToString(System.Guid.NewGuid()) + ".txt", Convert.ToString(objStrBuilder));
    if (i > 0)
    {
        return false;
    }
    return true;
}
catch (Exception ex)
{
    return false;
}
finally
{
    process.Close();
    process.Dispose();
}
4

2 に答える 2

1

これに SAVIDI を使用することを検討しましたか - https://www.sophos.com/medialibrary/PDFs/partners/sophossavdidsna.ashx

SAV32CLI がすべてのウイルス データをメモリにロードするには長い時間がかかります。約 5 秒と予想されます。ハードディスクをスキャンしている場合はこれで問題ありませんが、ファイルごとにかなり遅くなります。複数のインスタンスを起動している場合は、かなりのメモリ消費も発生します。

スループットを改善する必要がある場合は、SAVIDI を検討することをお勧めします。このシナリオでは、起動時にウイルス データをロードするサービスがあり、ファイル/ディレクトリのスキャンを要求できます。

この投稿とスレッドの添付ファイルが役立ちます: https://community.sophos.com/products/endpoint-security-control/f/sophos-endpoint-software/9420/sophos-sav-di-icap-code-sample

よろしく。

于 2016-12-28T22:56:52.520 に答える