我正在使用wsfTestClient来调试c#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变量,它是null。为什么这样做? fileLoc是一个目录位置。
以下是wcftestclient
的屏幕截图
答案 0 :(得分:2)
WCF测试客户端不适用于非SOAP端点(a.k.a. WCF REST服务)。由于您使用[WebGet]修饰了操作,我假设您就是这种情况。问题是非SOAP端点不公开其元数据,因此WCF Test Client(或svcutil)等工具可以知道如何调用该服务。
有关详细信息,请查看帖子Mixing Add Service Reference and WCF Web HTTP (a.k.a. REST) endpoint does not work。