WCF 웹 서비스를 처음으로 프로젝트로 개발하도록 요청 받았습니다. 웹 서비스는 다소 단순합니다. JSON 객체 만 반환해야합니다. 문제는 브라우저를 사용하여 서비스를 테스트하는 동안 브라우저 (chrome, firefox)가 빈 페이지를 표시한다는 것입니다. WcfTestClient는 JSON 출력을 올바르게 표시합니다. 첨부웹 서비스가 JSON 객체 대신 빈 페이지를 반환합니다.
그래서
내가 무슨 일을하고있는 중이 야 내 코드와의 Web.config
입니까? 미리 감사드립니다.의 Web.config :
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="WcfService3.Service1" behaviorConfiguration="WcfService3.Service1Behavior">
<!-- Service Endpoints -->
<endpoint address="" binding="wsHttpBinding" contract="WcfService3.IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WcfService3.Service1Behavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
IService1.cs :
namespace WcfService3
{
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(string username, string password);
}
[DataContract]
public class Data
{
[DataMember]
public string Username { get; set; }
[DataMember]
public string Password { get; set; }
}
}
Service1.svc.cs :
namespace WcfService3
{
public class Service1 : IService1
{
[WebInvoke(Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "data/{user}/{pass}")]
public string GetData(string user, string pass)
{
Data UserData = new Data()
{
Username = user,
Password = pass
};
MemoryStream stream = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Data));
ser.WriteObject(stream, UserData);
string json = Encoding.Default.GetString(stream.ToArray());
return json;
}
}
}