我已注册Safari开发计划并拥有有效的Apple ID.我已经按照Apple提供的所有步骤进行了操作.问题是Windows XP(Service Pack 2)无法识别命令'certreq',而说明说它可以在任何Windows机器上运行.但是,命令'certreq'正在我的同事的机器上运行Windows Vista,我下载了证书(.cer文件)并安装了它,Safari检测到它.但是,我没有Windows Vista.我现在在我的机器上安装了Windows 7,命令'certreq'工作,我有Safari扩展证书(.cer文件)但是当我打开Safari的Extension Builder时,我的证书没有出现在那里.
我在开始 - >运行中输入了mmc并检查证书是否安装在那里.它出现在"其他人"中,但不出现在"个人"中.即使在Internet Explorer 7+上,当我转到工具 - > Internet选项 - >内容(选项卡) - >证书时,个人选项卡中没有证书,(因为它自动安装在个人文件夹中) WINDOWS VISTA).我尝试将证书(.cer文件)导入Peronal文件夹,导入成功但仍然没有出现在个人文件夹中,当我进入Extension Builder时Safari也识别/检测到它.
有什么帮助?!我需要为我的办公室项目进行扩展,截止日期即将来临.我真的需要完成它.
万分感谢万分.
我有这个签名的控制器方法:
public async IAsyncEnumerable<MyDto> Get()
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我需要做一些请求验证并相应地返回 401、400 和其他代码,但它不支持。或者,以下签名不会编译:
public async Task<ActionResult<IAsyncEnumerable<MyDto>>> Get()
Run Code Online (Sandbox Code Playgroud)
错误:
无法将类型“Microsoft.AspNetCore.Mvc.UnauthorizedResult”隐式转换为“MyApi.Responses.MyDto”
完整方法:
public async IAsyncEnumerable<MyDto> Get()
{
if (IsRequestInvalid())
{
// Can't do the following. Does not compile.
yield return Unauthorized();
}
var retrievedDtos = _someService.GetAllDtosAsync(_userId);
await foreach (var currentDto in retrievedDtos)
{
yield return currentDto;
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?似乎无法相信微软的设计目的IAsyncEnumerable是在没有返回任何其他东西的可能性/灵活性的情况下使用。
c# actionresult request-validation asp.net-core-webapi iasyncenumerable