解决python调用wcf 远程兼职
一般月薪1000元- 项目类型:Api接口开发
- 每月工作: 1天
- 工作方式:远程
职位详情
本项目是一个视频质量的分析系统,其中视频图像调用、分析任务调度、分析结果回写由.net完成,具体质量分析由python完成,拟通过wcf解决.net部分与python部分程序之间的通讯,图像、照片(.net-->python)基于wcf协议实现二进制流传输,分析结果回传(python-->.net)也通过wcf完成。
本项目的核心工作是解决python如何调用wcf。以下是伪代码:
//获取图片WCF方法
[OperationContract(Name = "Get")]
public WCFResponse Get(WCFRequest request)
{
try
{
WCFResponse response = new WCFResponse();
using (FileStream fs = new FileStream("d:\\2.jpg", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
List rv = new List {
new ReturnValue { VideoId=Guid.NewGuid(), AnWay = 2008, Image = bytes },
new ReturnValue { VideoId=Guid.NewGuid(), AnWay = 2009, Image = bytes }
};
response.Value = rv;
}
}
catch (Exception e)
{
response.ErrorCode = -1;
response.Errors = e.Message;
}
return response;
}
//回传结果WCF方法
[OperationContract(Name = "Set")]
public WCFResponse Set(WCFRequest request)
{
try
{
Result res = new Result();
res.VideoId = Guid.Parse(string.Format("{0}",request.Parameters["VideoId"]));
res.Way = (int)request.Parameters["Way"];
res.Value = (int)request.Parameters["Value"];
return response.Value = 1;
}
catch (Exception e)
{
response.ErrorCode = -1;
response.Errors = e.Message;
}
return response;
}
}
//两个实体类
//获取照片实体类
public class ReturnValue
{
public Guid VideoId { set; get; }
public int AnWay { set; get; }
public byte[] Image { set; get; }
}
//回传结果实体类
public class Result
{
public string VideoId { set; get; }
public int Way {set;get;}
public int Value { set; get; }
}