我有一个使用 jquery ajax 的 asp.net 页面。我需要创建一个可以在 $.ajax 中用作 url 的方法。我在网上搜索,发现我需要创建 WCF 服务。我的解决方案在 asp.net 3.5 中。我在这样的 IJsonDataService.cs 接口中创建了两个方法
[ServiceContract]
public interface IJsonDataService
{
[OperationContract]
Person DoWork();
[OperationContract]
string GetData();
}
and then in class file I have implemented them like this:
[WebGet(RequestFormat= WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json,UriTemplate="data/{id}")]
public Person DoWork(){
return new Person();
}
[WebGet(RequestFormat= WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json,UriTemplate="data/{id}")]
public string GetData(string parameter)
{
return "this is" + abc;
}
我的 web.config 看起来像这样:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="JsonDataServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="JsonDataServiceBehavior" name="JsonDataService">
<endpoint address="" binding="wsHttpBinding" contract="IJsonDataService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
我想将 Id 传递给这些方法,然后查询数据库并返回结果,然后将结果格式化为 json 并将该 json 返回到 $.ajax 方法。我需要在上述方法中进行哪些更改以及如何将数据作为 json 返回,然后在 $.ajax 中使用它?请建议。