0

我正在使用 wsfTestClient 来调试 ac# wcf 服务程序。我的这个功能的界面有

    [OperationContract]
    [WebGet(UriTemplate = "AddCsv?fileLoc={fileLoc}", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
    void AddCsv(string fileLoc);

对应的类是

     public void AddCsv(string fileLoc)
    {
        List<Entity> listOfEntries = LoadCSV(fileLoc);
        PutList(listOfEntries);

    }

我在 AddCsv 方法的声明处有一个断点,我查看了 fileLoc 变量,它为空。为什么会这样?fileLoc 是一个目录位置。

这是 wcftestclient 的屏幕截图

截屏

4

1 回答 1

2

WCF 测试客户端不适用于非 SOAP 端点(又名 WCF REST 服务)。由于您使用 [WebGet] 修饰了您的操作,因此我假设您就是这种情况。问题是非 SOAP 端点不公开其元数据,因此 WCF 测试客户端(或 svcutil)等工具可以知道如何调用服务。

有关更多信息,请查看Mixing Add Service Reference and WCF Web HTTP (aka REST) endpoint does not work

于 2013-08-29T19:53:48.533 回答