繁体   English   中英

使用wcf代替Web服务!

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM