私はここにこの例外の百万のポストがあることを知っているが、私はここでこれを理解していない。 私はEXTREM簡単な例パイプ・サービスがあります。神秘的な=>パイプからの読み取り中にエラーが発生しました:パイプが終了しました。 (109、0x6d)
をそして、私はそれを呼び出すときのものすべてがうまくあるが、2つのクライアントが同時にそれを呼び出すときに、この例外がスローされます。 サーバーは新しいスレッドを直接設定し、クライアントに戻ります。
public void RiskExport(long sraid, long revID, string JobID)
{
ThreadStarter starter = new ThreadStarter(new ThreadStartWithParameter(RunExportJob), new SRAInfo() { sraid = sraid, revID = revID, JobID = JobID });
Thread t = new Thread(new System.Threading.ThreadStart(starter.ThreadStartEntry));
t.IsBackground = true;
t.Start();
}
したがって、タイムアウトの問題はありません。なぜなら、cleintからserverまで、そしてbackから1秒かかるからです。特にユニットテストのforループと同時に呼び出すと、
string JobID = "";
for (int i = 0; i < 100; i++)
{
string baseAddress = "net.pipe://localhost/SRADocumentService";
ChannelFactory<ISRARiskExport> factory = new ChannelFactory<ISRARiskExport>(new NetNamedPipeBinding(NetNamedPipeSecurityMode.None), new EndpointAddress(baseAddress));
ISRARiskExport svc = factory.CreateChannel();
JobID = Guid.NewGuid().ToString();
svc.RiskExport(sraid, revID, JobID);
}
私はすべて準備が整いました。ここでは、各呼び出しで例外がスローされることがわかります。詳細ペインは私に何も助けにはなりません。例外は2回表示されます。=> パイプからの読み取り中にエラーが発生しました:パイプが終了しました。 (109、0x6d)。別のスタックトレースと
=>
コールバッククライアントである後に例外が長い来ることを私ものDebugViewで見る
。 私の質問は以下のとおりです。- はなぜサービスは、それは彼らがすべてのログファイルを取得し、私は」ので、私は例外を取り除くことができますどのようにこの例外
を投げてもexpectetとして働いていますそれを捕まえることはできません。
THXマイケル
この例では、誰もあなたに手伝ってくれることはありません。あなたは投稿を編集したいかもしれません。 –
haha - すべてのコンテンツを追加できませんでした。私は歩いて行った。 –