首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

关于WCF请求应答的有关问题

2013-08-16 
关于WCF请求应答的问题本帖最后由 cpp_1 于 2013-08-12 22:51:36 编辑现在我在做一个WCF文件上传的功能[Se

关于WCF请求应答的问题
本帖最后由 cpp_1 于 2013-08-12 22:51:36 编辑 现在我在做一个WCF文件上传的功能

    [ServiceContract]
     public interface IUpLoadService
     {
         [OperationContract(Action = "UploadFile", IsOneWay = true)]
         void UploadFile(FileUploadMessage request);

   }


     [MessageContract]
     public class FileUploadMessage
     {
         [MessageHeader(MustUnderstand = true)]
         public string SavePath;

        [MessageHeader(MustUnderstand = true)]
         public string FileName;

        [MessageBodyMember(Order = 1)]
         public Stream FileData;

    }

但现在有一个问题我用了

[OperationContract(Action = "UploadFile", IsOneWay = true)]
         void UploadFile(FileUploadMessage request);

但我又想返回一个TURE OR false 的值,就一直报契约出错,怎么才能让这个方法给反一个值呢

直接把isoneway=false,就报:

无法加载操作“UploadFile”,因为它具有类型为 System.ServiceModel.Channels.Message 的参数或返回类型,或具有一个带有 MessageContractAttribute 及其他不同类型参数的类型。当使用 System.ServiceModel.Channels.Message 或具有 MessageContractAttribute 的类型时,方法不应使用任何其他参数类型。
[解决办法]
[OperationContract(Action = "UploadFile")]
UpdateResult UploadFile(FileUploadMessage request);

[MessageContract]
public class UpdateResult
{
[MessageBodyMember] public bool Result { get; set; }
}

热点排行