如何解决WCF自托管服务,参数字符串声明失败
我有一个自托管的wcf服务,它具有三个OperationContract,其中两个应接受参数
[OperationContract]
[WebInvoke(Method = "GET",ResponseFormat = WebMessageFormat.Json,UriTemplate = "json/{id}")]
string JSONData(string id);
基于此参数,我执行一些逻辑并返回数据:
public string JSONData(string id)
{
if (id == "1")
{
string json = "{ \"months\":[{ \"name\":\"January\"},{ \"name\":\"Febuary\"},{ \"name\":\"March\"} ]}";
return json;
}
else
{
return "Id not found,invalid request";
}
}
我使用邮递员执行此请求:
但是,我填写id并不重要,我总是得到:
"Id not found,invalid request"
让我感到困惑的是,以下方法确实有效:
public string JSONData(string id)
{
return Data(id);
}
private string Data(string id)
{
// logic
return "Data: " + id;
}
这使我相信输入失败的可能性不如if语句中的断言。
已将逻辑更改为:
public string JSONData(string id)
{
if (id.Equals("name"))
{
return "equal";
}
else {
return Data(id);
}
}
private string Data(string id)
{
// logic
return "Data: " + id;
}
if语句中的断言仍然没有完成,但是在以这种方式断言字符串的相等性时,我看不出我做错了什么。
我们将不胜感激。
谢谢。
解决方法
我不知道您要完成什么,但是使用wcftestclient可以返回您的要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。