我正在尝试使用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;
答案 0 :(得分:2)
确保:
部分类定义在同一个程序集中
您正在使用服务参考的命名空间:
示例:
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();
}
}
}
}
}