【问题标题】:This operation is not supported in the WCF clientWCF 客户端不支持此操作
【发布时间】:2015-05-26 07:59:42
【问题描述】:

为什么我在 localhost:53776/MyService.svc 启动我的 wcf 服务我在 wcf 测试客户端中收到此错误。

WCF 客户端不支持此操作:

[ServiceContract]
public interface ILSKTicketService
{
    [OperationContract]
    Task UploadLDTTickets(LDTTicketUploadDTO[] tickets);
}

为什么不支持这种类型?

我还能如何测试我的服务端点?

【问题讨论】:

    标签: c# wcf wcftestclient


    【解决方案1】:

    首先,您应该问自己是否真的需要将 Task 作为返回类型返回,因为其中隐含着其他复杂性。

    其次(主要是您所要求的),除了使用标准 WCFTestClient 之外,您还可以创建一个单独的应用程序,将服务引用添加到您的端点 (https://msdn.microsoft.com/en-us/library/bb628652.aspx),然后使用生成的客户端来测试您的调用 (@ 987654322@ ) 比 WCFTestClient 提供的更灵活。

    【讨论】:

    • 同上任务返回类型。服务器将如何反馈任务已完成?任务通常在客户端代理接口上生成,用于等待调用本身返回。
    • 可能他想实现异步/等待模式,因为我可以从方法名称推断出这个 Upload 可能是一个冗长的操作,但如果这是他唯一的架构,他应该在他的架构的客户端执行此操作要求。
    • @GazTheDestroyer 对,这些是独立的进程,客户怎么会知道。
    • 上传是通过 EF 插入 10 个 sql 表。
    • @Pascal:任务代表了做某事的承诺。工作完成后,您的单独流程将如何通知原始流程?这需要双工 WCF 合同。
    猜你喜欢
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 2019-07-06
    相关资源
    最近更新 更多