0
我正在創建一個WCF服務,並且在我的一些集成測試中使用它時會超時。我已經能夠縮小它的範圍,並通過以下代碼進行演示。看起來在創建主機之前創建一個表單會導致問題,但我不知道爲什麼。WCF服務超時
class Program
{
[ServiceContract]
public interface IMyContract
{
[OperationContract]
void Ping();
}
public class MyContract : IMyContract
{
public void Ping()
{
Console.WriteLine("Ping");
}
}
public class MyContractProxy : ClientBase<IMyContract>, IMyContract
{
public MyContractProxy(int port)
: base(new NetTcpBinding { SendTimeout = TimeSpan.FromSeconds(5) }, new EndpointAddress(string.Format("net.tcp://localhost:{0}", port)))
{
}
public void Ping()
{
Channel.Ping();
}
}
static void Main(string[] args)
{
try
{
new Form();
var host = new ServiceHost(typeof(MyContract));
host.AddServiceEndpoint(typeof(IMyContract), new NetTcpBinding(), "net.tcp://localhost:12345");
host.Open();
var proxy = new MyContractProxy(12345);
proxy.Open();
proxy.Ping();
}
catch (Exception e)
{
Console.Error.WriteLine(e);
}
}
}
什麼錯誤訊息顯示?如果你根本沒有創建表單,它是否仍然超時? – Bernard 2010-09-15 18:54:33
你的配置文件是什麼樣的?看到這可能也有幫助。 – 2010-09-15 19:01:59