當前正在使用Visual Studio 2015構建使用.NET 4.0的Web服務應用程序。C#Web Service沒有選擇帶有IIS的自定義類
我的接口類有1個方法,我想暴露的服務:
public interface IEvaluateGroupService{
[OperationContract]
EvaluateGroupResponse EvalGroup(EvaluateGroupRequest _request)
}
EvaluateGroupResponse和EvaluatGroupRequest由Web服務使用的自定義類。
我的問題是,當我構建服務並將其部署到IIS時,它會在引用它時識別請求/響應類的存在,但它缺少類中的字段。
I.e.如果我在C#中引用我的web服務:
EvaluateGroupService.EvaluateGroupRequest _request = new EvaluateGroupService.EvaluateGroupRequest();
這不會引發錯誤。然而,我無法訪問我班的任何字段。另外,我定義了我的請求類的構造函數以獲得1個參數。如果我嘗試調用該構造函數,則會收到錯誤消息,指出我的請求沒有帶1個參數的構造函數。
下面是我的請求/響應類:
請求:
namespace EvaluateGroupService
{
[DataContract]
public class EvaluateGroupRequest
{
private int accountKey;
private DateTime? startDate = null;
private DateTime? endDate = null;
public EvaluateGroupRequest(int initAcctKey)
{
AccountKey = initAcctKey;
}
public DateTime? EndDate
{
get
{
return endDate;
}
set
{
endDate = value;
}
}
public DateTime? StartDate
{
get
{
return startDate;
}
set
{
startDate = value;
}
}
public int AccountKey
{
get
{
return accountKey;
}
set
{
accountKey = value;
}
}
}
響應:
namespace EvaluateGroupService
{
[DataContract]
public class EvaluateGroupResponse
{
private bool success;
public bool Success
{
get
{
return success;
}
set
{
success = value;
}
}
}
}
僅用於測試目的,是否可以向EvaluateGroupRequest類添加空構造函數? (我認爲這對於消息的序列化/反序列化是必需的) – bdn02
您需要使用'[DataMember]'屬性修飾請求/響應中的字段。 – ragerory