使用WCF解决方法的部分类

时间:2014-06-06 09:00:27

标签: c# .net wcf

我正在尝试使用this解决方法来正确处理WCF客户端,以便我可以在using语句中将调用包装到客户端。

所以在我的集成层,我添加了一个服务参考,并给出了外部服务所在位置的svc地址。

在Service References MyExternalService中创建了一个文件夹,其中包含MyExternalService.disco,MyExternalService.wsdl,Reference.svcmap等

在服务参考文件夹中,我创建了一个名为MyExternalServiceClient的类,如下所示:

public partial class MyExternalServiceClient : IDisposable
{
    void IDisposable.Dispose()
    {
        bool success = false;
        try
        {
            if (State != CommunicationState.Faulted)
            {
                Close();
                success = true;
            }
        }
        finally
        {
            if (!success)
            {
                Abort();
            }
        }
    }
}

我遇到的问题是resharper告诉我一个部分的部分课程。并且状态关闭和中止符号无法解析 - 即使使用this.State - 我在班级顶部的using语句是:

using System;
using System.ServiceModel;

1 个答案:

答案 0 :(得分:2)

确保:

  1. 部分类定义在同一个程序集中

  2. 您正在使用服务参考的命名空间:

  3. 示例:

    namespace XXX.YYY.ZZZMyExternalServiceOrWhatever
    {
        /// <summary>
        /// Partial definition of MyExternalServiceClient.
        /// </summary>
        public partial class MyExternalServiceClient : IDisposable
        {
            /// <summary>
            /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            /// </summary>
            void IDisposable.Dispose()
            {
                bool success = false;
                try
                {
                    if (this.State != CommunicationState.Faulted)
                    {
                        this.Close();
                        success = true;
                    }
                }
                finally
                {
                    if (!success)
                    {
                        this.Abort();
                    }
                }
            }
        }
    }