使用ServiceClientBase
我尝试了以下内容:
string GetHtml(IReturn request) {
var relativeUrl = request.ToUrl("GET", "html");
return ServiceClient.Get<string>(relativeUrl);
}
但是,返回的字符串在="
的第一个实例处被截断。例如,如果我有样式标记,我只会得到以下响应:
<!doctype html>
<html>
<head>
<title>Report</title>
<style type="
似乎反应正在进行反序列化......我该如何避免这种情况?
我想使用ServiceClient实例有两个原因,而不是创建一个独立的Web请求:
最后,从API的角度来看,似乎与web services that can return a plain string, stream, etc.平行,以使客户端同样可以获得“普通”结果。
答案 0 :(得分:2)
有点不确定你想做什么。 HTML响应无法序列化为DTO,因此您不应尝试使用其中一个服务客户端来处理可序列化为响应DTO的特定响应。
因此,要获得服务的HTML响应,您可以使用像ServiceStack's HTTP Utils这样的基本HTTP客户端,例如:
var url = BaseUrl + request.ToUrl("GET", "html");
var html = url.GetStringFromUrl();