質問に答えるコンテキスト/コードがすべて揃っているかどうかはわかりませんが、以下のコードはうまくいくようです。が ServiceStack リクエスト URL に含まれていない場合?formt=html
、JSON 文字列が返され、引用符がエスケープされ、\n 文字が追加されます。
HTML
<div ng-app="testApp">
<div ng-controller="testCtrl">
<p>Write Contents Below:</p>
<div id="writeHere"></div>
</div>
</div>
角度コード
angular.module('testApp', [], function () {
})
.controller('testCtrl', function ($scope, $http) {
var req = $http.get('/api/CacheTest?format=html');
req.success(function (data) {
$('#writeHere').html(data);
});
req.error(function (data) {
$('#writeHere').html('Error');
});
});
リクエスト&サービス
[Route("/CacheTest")]
public class ContentValueRequest
{
public string Group { get; set; }
public string Key { get; set; }
}
public class CacheService : Service
{
public object Get(ContentValueRequest Request)
{
var enableCaching = true;
if (enableCaching)
{
var cacheKey = UrnId.Create<ContentValueRequest>("someKey");
var expireInTimespan = new TimeSpan(0, 5, 0);
return base.RequestContext.ToOptimizedResultUsingCache(base.Cache, cacheKey, expireInTimespan, () =>
{
return GetContentValueRequest(Request);
});
}
else
return GetContentValueRequest(Request);
}
private string GetContentValueRequest(ContentValueRequest request)
{
var ret = @"<em>""Quoted Text"", <em>Bold</em>" + Environment.NewLine;
ret += @"A second line.";
return ret;
}
}