我有一个返回json的WCF服务。我想用Fiddle测试它(这是我在下面的教程中使用的应用程序)。问题是,例如,在调用“AddAngajat”时出现HTTP 404错误。使用JSON响应测试WCF
的服务实现:
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single, AddressFilterMode=AddressFilterMode.Any)]
public class AngajatService : InterfaceAngajat
{
List<Angajat> listaAngajati =null;
public AngajatService()
{
if (listaAngajati == null)
listaAngajati = new List<Angajat>();
}
[WebInvoke(Method="POST", UriTemplate = "AddAngajat", ResponseFormat=WebMessageFormat.Json)]
public void AddAngajat(Angajat angajat)
{
listaAngajati.Add(angajat);
}
public Angajat[] GetAllAngajati()
{
listaAngajati.Add(new Angajat() { idAngajat = "2f34", nume = "nume1" });
return listaAngajati.ToArray();
}
}
的App.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.serviceModel>
<services>
<service name="testJSON.AngajatService">
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
<endpoint address="json" behaviorConfiguration="JSONEndpointBehavior"
binding="webHttpBinding" bindingConfiguration="" contract="testJSON.InterfaceAngajat" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/testJSON/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="JSONEndpointBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
关于如何解决此问题的任何想法?其他测试方法呢?
我使用Fiddler作为客户端。我的服务现在由本地IIS托管,所以我从URL中删除了端口。 http://localhost/testJSON/Service.svc返回好了,但我怎么能发送一个帖子请求,我如何发送参数? – 2012-03-27 09:39:18
它不是WCF REST吗? – Aliostad 2012-03-27 09:55:08
正在工作.....非常感谢。我是C#和widnows服务中的一个非常早期的开局者,所以我不知道是否是肥皂或休息服务。我会尽力学习更多。非常感谢。 – 2012-03-27 10:00:26