Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# my attributes knowntype不支持错误操作_C#_Wcf_C# 4.0_Soap_Attributes - Fatal编程技术网

C# my attributes knowntype不支持错误操作

C# my attributes knowntype不支持错误操作,c#,wcf,c#-4.0,soap,attributes,C#,Wcf,C# 4.0,Soap,Attributes,我已经在链接中读过了 尝试运行此操作时出错 WCF GetBatch中不支持该操作 这是我的课程如何解决这个问题 [已知类型的合同] [KnownTypeOfTotalamount] [KnownTypeOfSubjectRole] [已知类型的合同数据] [每月付款的已知类型] [KnownTypeOfProgationMount] [数据合同] 公共类批处理 { 专用字符串字段; 私人合同领域; [数据成员] 公共字符串批处理标识符 { 获取{返回this.batchIdentifierFi

我已经在链接中读过了

尝试运行此操作时出错

WCF GetBatch中不支持该操作

这是我的课程如何解决这个问题

[已知类型的合同] [KnownTypeOfTotalamount] [KnownTypeOfSubjectRole] [已知类型的合同数据] [每月付款的已知类型] [KnownTypeOfProgationMount] [数据合同] 公共类批处理 { 专用字符串字段; 私人合同领域; [数据成员] 公共字符串批处理标识符 { 获取{返回this.batchIdentifierField;} 设置{this.batchIdentifierField=value;} } [数据成员] 公共合同 { 获取{返回此.contractField;} 设置{this.contractField=value;} } } [DataContractName=合同] 公共部分类合同 { \\\其他领域 [数据成员] public ContractData ContractData{get;set;} [数据成员] public SubjectRole[]SubjectRole{get;set;} \\\其他领域 } [DataContractName=ContractData] 公共部分类数据 { \\\其他领域 [数据成员] 公共TotalAmount TotalAmount{get;set;} [数据成员] public MonthlyPayment TotalMonthlyPayment{get;set;} [数据成员] 公共延期金额延期金额{get;set;} \\\其他领域 } [DataContractName=TotalAmount] 公共部分类TotalAmount{} [DataContractName=每月付款] 公共部分类月付款{} [DataContractName=ExtensionAmount] 公共部分类扩展量{} 接口

[服务合同] 公共接口IBankService { [经营合同] 批处理GetBatchstring日期时间; [经营合同] 字符串AddBatchBatch entityBatch; [经营合同] 字符串AddLocalBatchstring本地路径; [经营合同] 串平; } 这是一种有效的方法

使用制度; 使用System.Collections.Generic; 使用System.Linq; 使用System.Runtime.Serialization; 使用System.ServiceModel; 使用System.ServiceModel.Web; 使用系统文本; 使用模式合同; 使用DABatch; 名称空间WCF_服务 { //实现我的方法 公共类银行服务:IBankService { 公共批处理GetBatchstring日期时间 { 尝试 { DateTime日期=DateTime.Parsedatetime; 如果datetime.i是空的 { Debug.WriteLogField Datetime为空; 退回新批次; } 使用BatchContext db=新的BatchContext { 如果db.DBBatches.Anyx=>x.Contract.ContractData.StartDate.Equalsdate { //....... 返回ChangedBatch; } 其他的 { //只需插入时间并创建新对象 //...... 返回新批次; } } } 特例 { Debug.WriteLogex.Message; 退回新批次; } } 公共字符串AddBatchBatch entityBatch { 尝试 { 如果entityBatch==null { Debug.WriteLogBatch实体为空,新的NullReferenceException; 返回错误:批处理实体为空,没有要加载的内容; } 使用BatchContext db=新的BatchContext { db.DBBatches.AddentityBatch; 返回添加操作成功!; } } 特例 { Debug.WriteLogex.Message; 返回字符串。格式$Error:{ex.Message}; } } 公共字符串AddLocalBatchstring本地路径 { 尝试 { 如果localPath.IsEmpty { Debug.WriteLogLink为空; 返回错误:链接为空,没有要加载的内容; } var entityBatch=XmlReader.ReadlocalPath; 使用BatchContext db=新的BatchContext { db.DBBatches.AddentityBatch; 返回添加操作成功!; } } 捕获异常 { Debug.WriteLogex.Message; 返回字符串。格式$Error:{ex.Message}; } } 公共字符串Ping { 返回字符串.Format$Service正在工作。确定!日期:{DateTime.Now.ToLongDateString}时间:{DateTime.Now.ToLongTimeString}; } } AddLocalBatch正在工作

我不知道在这个问题上要补充什么

我试了各种方法


WCFTestclient不支持测试所有接口方法,例如上载文件流。这也不意味着方法定义错误,无法调用。 我建议您以服务引用的形式将服务直接添加到项目中,然后测试它是否有效。 KnownTypeAttribute不支持应用程序 我对这种情况很敏感。因为您已经明确指定了数据协定类属性的强类型,而不是基类型或接口。
如果有什么我可以帮忙的,请随时告诉我。

GetBatch可能没有OperationaContract属性。查看示例用法。对不起,我没有显示我的界面,是的,有操作合同和服务合同。请显示所有相关代码,并保留它。非常感谢!我想这可能是我项目中的一个问题。但对于未故障类型,get错误似乎是正常的