配置.NET Web服务

时间:2015-11-07 07:29:36

标签: c# asp.net .net web-services

我通过在Visual Studio中创建新网站和添加新的Web服务,使用C#创建了简单的Web服务。我还在IIS8中为它创建了站点并在那里放置了服务。服务工作正常并返回XML作为答案,但现在我需要返回JSON格式甚至更好 - 两种格式都可以在单独的地址中使用。怎么实现呢?我应该使用web.config文件管理某些内容,还是必须进行一些编码?

web.config文件内容:

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

</configuration>

1 个答案:

答案 0 :(得分:0)

您应该通过使用ScriptMethod属性进行装饰来更改网络方法的响应格式,并使用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);
    }
}