我有一个使用Razor视图引擎的ASP.Net项目,它目前使用WebMatrix.Data.Database.Open直接查询各种数据库。WebMatrix中查询WCF服务的最佳方式是什么?
我试图迁移所有使用WCF的Web服务的直接数据库访问,以便获得一致的业务逻辑。在这样做的同时,我还启用了WCF服务,使其成为“httpGetEnabled”。这使我可以使用Excel宏来查询同一个Web服务。
我的问题是,从Razor/WebMatrix页面查询这些Web服务的最佳方式是什么?
我应该JSON启用我的WCF服务并使用WebMatrix JSON帮助器吗?或者我应该使用JQuery来获取XML?
我会假设前者是最好的方法,但我如何使JSON启用我的WCF服务?我记得看到一段视频,它允许我为WCF请求指定一个附加查询参数来获取JSON,但我无法再找到它。
任何想法或指针在正确的方向将不胜感激。
亲切的问候。
编辑:
我最近看到了这对堆栈溢出: Client Side Binding using by Converting the WCF Services to JSON
在这之后,我去了周围WebHttpBehavior提到的MSDN文章。我已经添加了“automaticFormatSelectionEnabled = true”到Web.config中的webHttp元素。此外,添加以下代码,然后让我来指定“格式= JSON”作为查询参数:
string formatQueryStringValue = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.QueryParameters["format"];
if (!string.IsNullOrEmpty(formatQueryStringValue))
{
if (formatQueryStringValue.Equals("xml", System.StringComparison.OrdinalIgnoreCase))
{
WebOperationContext.Current.OutgoingResponse.Format = WebMessageFormat.Xml;
}
else if (formatQueryStringValue.Equals("json", System.StringComparison.OrdinalIgnoreCase))
{
WebOperationContext.Current.OutgoingResponse.Format = WebMessageFormat.Json;
}
}
我现在只需要找出如何使用WebMatrix的JSON助手得到的结果。 ..当我得到更多的信息时会更新。
编辑2
嗯,我不认为帮助......现在,我可以从Web服务得到JSON,但JSON网络助手似乎只帮助,如果你有一些JSON数据已经。我只是不确定如何获取JSON数据,然后我可以使用JSON Helper将它转换(解码)为一个类。
所以我想我现在的问题是,我如何获得JSON数据,然后将它连接到WebMatrix/Razor以便在WebGrid中使用?
你想调用从客户端或服务器的服务? – SLaks 2011-04-12 14:02:01
我真的没有偏好,我想我只是想要做什么被认为是最好的做法... – Darren 2011-04-12 14:03:17
这完全取决于你想做什么。 – SLaks 2011-04-12 14:12:32