几次重复调用后,WCF Web服务停止响应

时间:2011-06-29 06:35:53

标签: wcf iis

我有Windows应用程序,通过WCF Web服务与逻辑层和数据层进行通信。 打开表单时,将建立与Web服务的连接,并且只要打开表单,连接就会保持活动状态。关闭from时,使用Web服务上的Finalize和Dispose关闭连接。 打开和关闭表单几次后,服务停止响应,我需要重置IIS中托管的服务以使其再次运行。有关如何处理此问题的任何提示?

这是我的服务合同:

[ServiceContract]
public interface ICommandInvoker : IDisposable
{
    [OperationContract(IsOneWay = false)]
    void Initialize(TypeInfo managerType, UserInfo userInfo, Dictionary<string,string> settingDic);

    [OperationContract(IsOneWay = true)]
    void Finalize();

    [OperationContract(IsOneWay = false, Action="*")]
    //[CustomOperationBehavior]
    ServerResult Execute(ServerCommand command);

    [OperationContract(IsOneWay = false, Name="Execute Serialized")]
    string Execute(string command, TypeInfo typeInfo);

    [OperationContract(IsOneWay = false, Name = "Execute 2 Non Serialized")]
    ServerResult Execute(TypeInfo mangerType, UserInfo userInfo, ServerCommand command);

    [OperationContract(IsOneWay = false, Name = "Execute 2 Serialized")]
    string Execute(TypeInfo mangerType, UserInfo userInfo, string command, TypeInfo typeInfo);

    [OperationContract(IsOneWay = true)]
    void BeginExecute(ServerCommand command);

这是我的服务

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
public class BudgetService : BaseCommandInvoker<BudgetDataContext>, IBudgetService
{
    public BudgetService()
    {
    }
}

[ServiceContract(SessionMode = SessionMode.Required)]
public interface IBudgetService : ICommandInvoker
{
}

您对此使用方法Wcf有什么示例程序吗?

谢谢

1 个答案:

答案 0 :(得分:0)

可能有很多东西!

服务器是否返回超时?你是如何管理try catch块的?是否有任何错误被抛出。我会检查通道是否出现故障,因为Exception会使通道出错。如果出现问题,您的服务应该抛出FaultExceptions。

如果没有更多信息,就无法真正帮助蚂蚁。