【发布时间】:2013-08-22 17:47:40
【问题描述】:
我正在尝试在我的 C# restserviceA 中实现一个方法A,它向客户端返回一条 Json 消息。
该方法只是对内部托管的服务进行另一个 restservice 调用,如下所示的 ResterviceB
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
req.Method = "GET";
resp = req.GetResponse() as HttpWebResponse;
resp = req.GetResponse() as HttpWebResponse;
Encoding enc = Encoding.UTF8;
loResponseStream = new StreamReader(resp.GetResponseStream(), enc);
string strResponse = loResponseStream.ReadToEnd();
return resp;
此方法将从 RestServiceB 获得 json 格式的响应。我怎样才能以 json 格式本身将相同的 json 字符串返回给客户端。
我尝试将如下 webmethod 属性放入我的 methodA,但我从 RestServiceA 从 MethodA 获得的响应始终是字符串格式。
SVC接口:
[OperationContract ]
[WebGet(UriTemplate = "getresults", ResponseFormat = WebMessageFormat.Json)]
String GetResults();
SVC 代码
public String GetResults()
{
string str=//Call RestServiceB which returns response as below.
"query":"myquery", "results": [ {"name":"result1", "type":"suggest"}, {"name":"result2", "type":"type2"}]"
return str;
}
这里有什么建议吗?谢谢。
【问题讨论】:
-
您能否扩展您的代码以便我们可以看到 Web 方法签名? JSON 只是来自此服务的字符串,我相信您应该能够将 JSON 作为字符串返回。
-
感谢 Brainwipe。我在问题中添加了更多代码。如果您还有其他问题,请告诉我。