[英]using wcf instead of web service !
我在网站中使用ajax从名为NewsFeed.ascx的UserControl中调用某些信息,该信息位于“ controls”文件夹中,我的方式是制作一个Web服务页面(在名为WebMethods的文件夹中),其中包含一个函数我的案例叫GetRSSReader ,它返回一个字符串格式:
[WebMethod]
public string GetRSSReader()
{
Page page = new Page();
UserControl ctl =
(UserControl)page.LoadControl("~/Controls/NewsFeed.ascx");
page.Controls.Add(ctl);
StringWriter writer = new StringWriter();
HttpContext.Current.Server.Execute(page, writer, false);
return writer.ToString();
}
然后我使用Jquery调用此页面(我发现它太重了),以将返回的数据作为JSON这样获得:
<div id="Content"></div>
<script type="text/javascript" defer="defer" src="../JAVA/Default.js"></script>
>
$(document).ready(Update);
function Requests()
{
$.ajax({
type: "POST",
url: "../WebMethods/Feed.asmx/GetRSSReader",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$('#Content').html(msg.d);
}
});
}
Jquery.js和此页面(default.js)位于文件夹Java中
我的问题:我可以不使用webService而是使用WCF! 如何 !?
您所谓的“ Web服务”是.NET的旧“ ASMX Web服务”功能(有时称为ASP.NET Web服务)。
WCF替代了ASMX Web服务。
有关一些入门信息,请参见https://stackoverflow.com/tags/wcf/info 。
如果您只是返回JSON,那么我强烈建议您只使用HttpHandler而不是WCF,SOAP,UserControls以及您在其中扔的其他任何东西的组合。 这里是有关该主题的快速教程。 您可以节省不必要的页面生命周期内容的开销。 返回JSON就像使用JavaScriptSerializer序列化返回值一样简单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.