【发布时间】:2011-11-04 18:13:54
【问题描述】:
我是 WCF 服务的新手。我想在 ASP.NET 中使用 WCF 服务通过 jQuery 将数据绑定到 DropDownList。
【问题讨论】:
我是 WCF 服务的新手。我想在 ASP.NET 中使用 WCF 服务通过 jQuery 将数据绑定到 DropDownList。
【问题讨论】:
这是一个简单的$.ajax(..) 电话
http://api.jquery.com/jQuery.ajax/
在 WCF 中,您可以创建 Rest Service(返回 JSON)并在 jQuery 中使用此 JSON 响应
http://msdn.microsoft.com/en-us/netframework/dd547388
互联网上有很多例子。
c# 中的示例(Atom 提要):
[ServiceContract]
public interface INewsFeed
{
[OperationContract]
[WebGet]
Atom10FeedFormatter GetFeeds();
}
public class NewsFeed : INewsFeed
{
public Atom10FeedFormatter GetFeeds()
{
SyndicationFeed feed = new SyndicationFeed("My Blog Feed", "This is a test feed", new Uri("http://SomeURI"));
feed.Authors.Add(new SyndicationPerson("someone@microsoft.com"));
feed.Categories.Add(new SyndicationCategory("How To Sample Code"));
feed.Description = new TextSyndicationContent("This is a how to sample that demonstrates how to expose a feed using RSS with WCF");
SyndicationItem item1 = new SyndicationItem(
"Lorem ipsum",
"Lorem ipsum",
new Uri("http://localhost/Content/One"),
"ItemOneID",
DateTime.Now);
List<SyndicationItem> items = new List<SyndicationItem>();
items.Add(item1);
feed.Items = items;
return new Atom10FeedFormatter(feed);
}
}
在 svc 中你只需要添加 (Factory 部分):
<%@ ServiceHost Language="C#" Debug="true" Service="RssReader.Wcf.NewsFeed" CodeBehind="NewsFeed.svc.cs" Factory=System.ServiceModel.Activation.WebServiceHostFactory%>
已编辑:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
重要的部分是 <serviceMetadata httpGetEnabled="true"/> 在这种情况下您不需要定义任何端点
【讨论】: