C# 配置.NET Web服务
我通过在VisualStudio中创建新站点和添加新web服务,使用C#创建了简单的web服务。我还在IIS8中为它创建了一个站点,并在那个里放置了服务。该服务工作正常,返回XML作为答案,但现在我需要返回JSON格式或更好的格式——这两种格式在单独的地址中可用。如何做到这一点?我应该用web.config文件管理一些东西,还是必须进行一些编码 web.config文件内容:C# 配置.NET Web服务,c#,asp.net,.net,web-services,C#,Asp.net,.net,Web Services,我通过在VisualStudio中创建新站点和添加新web服务,使用C#创建了简单的web服务。我还在IIS8中为它创建了一个站点,并在那个里放置了服务。该服务工作正常,返回XML作为答案,但现在我需要返回JSON格式或更好的格式——这两种格式在单独的地址中可用。如何做到这一点?我应该用web.config文件管理一些东西,还是必须进行一些编码 web.config文件内容: <configuration> <system.web> <compi
<configuration>
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
您应该通过使用
ScriptMethod
属性对web方法进行修饰来更改其响应格式,并使用JavaScriptSerializer
返回数据。文章有一个完整的例子,我将在下面发布:
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);
}
}