3
我嘗試了超時並在服務實現中拋出異常,但它並未導致通道進入故障狀態,因爲它發生在我的生產代碼中。如何使WCF服務通道進入故障狀態?
我該如何強制這個事件發生用於測試目的?
下面的代碼拋出了第一個請求例外,使它失敗,但後續請求成功(遺憾的是,因爲我的目標是讓他們失敗)
public class SampleService : ISampleService
{
static bool first = true;
SampleData ISampleService.SampleMethod(SampleData data)
{
if (first)
{
first = false;
throw new Exception();
}
return data;
}
}
實際上,這不會起作用 - 使用FaultContracts或SOAP故障專門設計爲** NOT **將您的通道置於故障模式! – 2010-01-04 15:55:12
你是對的,實際上它恰恰相反 – Brann 2010-01-04 16:38:38
我的例外不起作用,因爲我在新的請求之前丟棄了錯誤的頻道。 – 2010-01-04 17:36:44