я следующие услуги:службы WCF REST возвращения пустого класс
[ServiceContract]
interface IConnectionService
{
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "GetState", BodyStyle = System.ServiceModel.Web.WebMessageBodyStyle.Wrapped), Description("")]
State GetState();
}
[DataContract]
public class State
{
[DataMember]
public bool Client_1_Ok { get; set; }
[DataMember]
public bool Client_2_Ok { get; set; }
}
на моей стороне сервера я создаю новый экземпляр государственного класса и установить переменный только чтобы увидеть, если они достигают клиент, как это предполагается,
public class Server : IConnectionService
{
public State GetState()
{
State tempState = new State();
tempState .Client_1_Ok = true;
tempState .Client_2_Ok = true;
return tempState ;
}
стороне клиента открыть канал и вызвать GetState на моей стороне сервера .. до сих пор так хорошо
private IConnectionService ConnectionChannel = null;
public State GetState()
{
try
{
ConnectionFactory = new WebChannelFactory<IConnectionService>(new Uri("http://" + this.HostIpAddress + ":" + this.Port.ToString() + "/Tes"));
this.ConnectionChannel = ConnectionFactory.CreateChannel();
State returnvalue = this.ConnectionChannel.GetState();
return state;
}
catch (Exception e)
{
//Communication error
return null;
}
finally
{
try { this.ConnectionChannel.Close(); }
catch { this.ConnectionChannel.Abort(); }
//dispose of the connection channel
this.ConnectionChannel.Dispose();
this.ConnectionChannel = null;
}
}
Но вызов GetState с клиентской стороны всегда возвращает экземпляр State, где логические значения являются ложными.
В подобных сообщениях peaople забыл добавить атрибуты DataContract и DataMember, но я обязательно добавил их. Решение, вероятно, что-то маленькое и глупое, но я не вижу, где я перепутал
ли ваш конфиг должен быть пересмотрен на основе: http://stackoverflow.com/questions/15910199/wcf-rest -service-not-return-data-in-browser? –
Почему это ПОЛУЧИТЬ ПОЧТУ? –