1

asp.net Web サイトの Application_Start イベントで以下のコードを実行します:</p>

public void CheckRebuildTasks()
{
try
{
    var ts = _rebuildRepository.Source.unCompleteRoots();

    if (ts.Any())
    {
        var task = new Task(() =>
        {
            int s = 30;
            string nameList = string.Empty;
            try
            {
                ts.ToList().ForEach(
                    t =>
                    nameList +=
                    string.Format("{0}[{1}]", t.AppName, t.AppContentName));
                _log.Info(string.Format("Sleep {0}s to continue {1}", s, nameList));
                System.Threading.Thread.Sleep(30*1000);
                ts.ToList().ForEach(t =>
                                        {
                                            var appContent =
                                                _appContentRepository.GetBy(
                                                    t.AppName,
                                                    t.
                                                        AppContentName);
                                            this.ClearRebuild(appContent.Name,
                                                                appContent.
                                                                    ContentType);

                                            var si = new SmartIndexer(appContent,
                                                                        _zzkDocumentRepository,
                                                                        _rebuildRepository);
                                            si.Rebuild(t);
                                        });
            }
            catch (Exception exc)
            {
                _log.Error(exc);
            }
        });
        task.LogExceptions("CheckRebuildTasks");
        task.Start();
    }
}
catch (Exception exc)
{
    _log.Error("CheckRebuildTasks", exc);
}

}

Windows EventLog メッセージ:</p>

未処理の例外が発生し、プロセスが終了しました。アプリケーション ID: DefaultDomain

プロセス ID: 19232

例外: System.Runtime.Serialization.SerializationException

メッセージ: アセンブリ 'Lucene.Net、バージョン = 2.9.4.1、カルチャ = ニュートラル、PublicKeyToken = 85089178b9ac3181' が見つかりません。

スタックトレース: System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() で System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType (BinaryAssemblyInfo assemblyInfo, String name) で System.Runtime.Serialization.Formatters.Binary で。 System.Runtime.Serialization.Formatters.Binary の ObjectMap..ctor (String objectName、String[] memberNames、BinaryTypeEnum[] binaryTypeEnumA、Object[] typeInformationA、Int32[] memberAssemIds、ObjectReader objectReader、Int32 objectId、BinaryAssemblyInfo assemblyInfo、SizedArray assemIdToAssemblyTable) ._ System.Runtime.Serialization.Formatters.Binary の BinaryParser.ReadObjectWithMapTyped (BinaryObjectWithMapTyped レコード)。_BinaryParser.Run()
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (HeaderHandler ハンドラー、__BinaryParser serParser、ブール型 fCheck、ブール型 isCrossAppDomain、IMethodCallMessage methodCallMessage) で System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (ストリーム serializationStream、HeaderHandler ハンドラー) 、Boolean fCheck、Boolean isCrossAppDomain、IMethodCallMessage methodCallMessage) System.AppDomain.Deserialize(Byte[] blob) at System.AppDomain.UnmarshalObject(Byte[] blob)

PS: すでに Lucene.Net を参照しており、プログラムはローカル pc で正常に動作します

4

0 に答える 0