2015-11-07 115 views
0

我使用C#創建了簡單的Web服務,方法是在Visual Studio中創建新站點並添加新的Web服務。我也在IIS8中爲它創建了網站,並在那裏放置了服務。服務工作正常,並返回XML作爲答案,但現在我需要返回JSON格式或甚至更好 - 兩種格式可在單獨的地址。如何實現這一目標?我應該用web.config文件管理一些東西,還是我必須做一些編碼?配置.NET Web服務

web.config文件內容:

<configuration> 
    <system.web> 
     <compilation targetFramework="4.5" /> 
     <httpRuntime targetFramework="4.5" /> 
    </system.web> 

</configuration> 

回答

0

你應該用ScriptMethod屬性裝飾它改變你的Web方法的響應格式,並與JavaScriptSerializer返回數據。 That文章有一個完整的例子,我會在下面發佈它:

public class MyServiceClass 
{ 
    [WebMethod] 
    public Employee[] GetEmployessXML() 
    { 
     Employee[] emps = new Employee[] { 
     new Employee() 
     { 
      Id=101, 
      Name="Nitin", 
      Salary=10000 
     }, 
     new Employee() 
     { 
      Id=102, 
      Name="Dinesh", 
      Salary=100000 
     } 
     }; 
     return emps; 
    } 
    [WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public string GetEmployessJSON() 
    { 
     Employee[] emps = new Employee[] { 
     new Employee() 
     { 
      Id=101, 
      Name="Nitin", 
      Salary=10000 
     }, 
     new Employee() 
     { 
      Id=102, 
      Name="Dinesh", 
      Salary=100000 
     } 
     }; 
     return new JavaScriptSerializer().Serialize(emps); 
    } 
}