Asp.net core 如何使用简单Odata客户端查询FileStreamResult
我正在尝试使用简单的odata客户端从ODataASP.net核心web api获取流。我的odata函数控制器从未被调用。有什么提示吗 模型配置:Asp.net core 如何使用简单Odata客户端查询FileStreamResult,asp.net-core,odata,meteor-blaze,Asp.net Core,Odata,Meteor Blaze,我正在尝试使用简单的odata客户端从ODataASP.net核心web api获取流。我的odata函数控制器从未被调用。有什么提示吗 模型配置: var GetMyModelCsvConf = builder.EntityType<MyModel>().Collection.Function("GetMyModelCsv").Returns<FileStreamResult>(); GetMyModelCsvConf.Parameter<Gu
var GetMyModelCsvConf = builder.EntityType<MyModel>().Collection.Function("GetMyModelCsv").Returns<FileStreamResult>();
GetMyModelCsvConf.Parameter<Guid>("MyId");
GetMyModelCsvCsvConf.Parameter<string>("Culture");
var GetMyModelCsvConf=builder.EntityType().Collection.Function(“GetMyModelCsvConf”).Returns();
GetMyModelCsvConf.参数(“MyId”);
getMyModelCsvcsConf.参数(“区域性”);
控制器:
[HttpGet]
[Produces("application/octet-stream")]
[ProducesResponseType(typeof(ODataValue<FileStreamResult>), Status200OK)]
[ProducesResponseType(Status404NotFound)]
[EnableQuery(AllowedQueryOptions = None)]
public async Task<IActionResult> GetMyModelCsv(Guid MyId, string Culture)
{
var Results = _Query.Get(x=>x.MyId == MyId);
using (MemoryStream ms = new MemoryStream())
{
using (TextWriter tw = new StreamWriter(ms))
using (CsvWriter csv = new CsvWriter(tw, new System.Globalization.CultureInfo(Culture)))
{
csv.WriteRecords<MyModel>(Results);
}
return File(ms, "application/octet-stream");
}
}
[HttpGet]
[产生(“应用程序/八位字节流”)]
[产品响应类型(类型(ODataValue),状态200OK)]
[产品响应类型(Status404NotFound)]
[启用查询(AllowedQueryOptions=None)]
公共异步任务GetMyModelCsv(Guid MyId,字符串区域性)
{
var Results=\u Query.Get(x=>x.MyId==MyId);
使用(MemoryStream ms=new MemoryStream())
{
使用(TextWriter tw=新的StreamWriter(ms))
使用(CsvWriter csv=新CsvWriter(tw,new System.Globalization.CultureInfo(Culture)))
{
csv.书面记录(结果);
}
返回文件(ms,“应用程序/八位字节流”);
}
}
请求:
var CsvFile = await _ODataApiService.ODataClient
.For<MyModel>("MyModels")
.Function("GetMyModelCsv")
.Set(new
{
MyId = MyId,
Culture = System.Globalization.CultureInfo.CurrentCulture.Name
}).Media().GetStreamAsArrayAsync();
var CsvFile=await\u ODataApiService.ODataClient
.对于(“MyModels”)
.Function(“GetMyModelCsv”)
.设置(新)
{
MyId=MyId,
区域性=System.Globalization.CultureInfo.CurrentCulture.Name
}).Media().GetStreamAsArrayAsync();