在下刚接触WCF,对于自定义返回数据类型有些迷惑,在书上看到自定义数据类型是在IService命名空间中定义的,需要添加datacontract契约,但是我希望能在IService之外的地方定义数据类型,如果加上datacontract契约的话不知道有没有什么影响呢?
namespace WcfService.SysConfig
{
// 注意: 如果更改此处的接口名称“IService1”,也必须更新 App.config 中对“IService1”的引用。
[ServiceContract]
public interface ISysNavService
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
// 任务: 在此处添加服务操作
}
// 使用下面示例中说明的数据协定将复合类型添加到服务操作
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}
如果我在一个新命名空间A中定义InventoryRecord,因为在数据访问层中也需要使用InventoryRecord类型,
namespace WcfService.A
{
// 使用下面示例中说明的数据协定将复合类型添加到服务操作
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}
如果这样使用会不会有问题呢?
------解决方案--------------------
如果意义相同,那就using
如果意义不同,那就改名
不然对电脑没影响,对人脑那简直是强奸。
------解决方案--------------------
不加
WCF
访问不到该类吧