AFAIK在ASP.NET Core Web Api中返回数据的标准方法是使用IActionResult
并提供例如OkObject
结果.这适用于对象,但如果我以某种方式获得了JSON字符串,我只想将该JSON返回给调用者呢?
例如
public IActionResult GetSomeJSON()
{
return Ok("{ \"name\":\"John\", \"age\":31, \"city\":\"New York\" }");
}
Run Code Online (Sandbox Code Playgroud)
ASP.NET Core在这里做的是,它接受JSON字符串,并再次将其包装到JSON中(例如它转义为JSON)
返回纯文本[Produces("text/plain")]
通过提供"RAW"内容确实有效,但它也将响应的内容类型设置为PLAIN而不是JSON.我们[Produces("application/json")]
在控制器上使用.
如何在没有转义的情况下将JSON作为普通的JSON内容类型返回?
注意:获取JSON字符串无关紧要,它可能来自第三方服务,或者存在一些特殊的序列化需求,因此我们希望进行自定义序列化而不是使用默认的JSON.NET序列化程序.
我正在尝试将证书分配给HTTPS绑定.不幸的是,我从PowerShell收到此错误:
new-item : Cannot create a file when that file already exists
At line:3 char:56
+ get-item -Path "cert:\localmachine\my\$cert" | new-item -path IIS:\SslBi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-Item], Win32Exception
+ FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.NewItemCommand
Run Code Online (Sandbox Code Playgroud)
我执行的PowerShell是:
New-WebBinding -name $Name -Protocol https -HostHeader "$Name.domain.com" -Port 443 -SslFlags 1
$cert = Get-ChildItem -Path Cert:\LocalMachine\My | where-Object {$_.subject -like "*cloud.domain.com*"} | Select-Object -ExpandProperty Thumbprint
get-item -Path "cert:\localmachine\my\$cert" | new-item -path IIS:\SslBindings\0.0.0.0!443!$Name.domain.com
Run Code Online (Sandbox Code Playgroud)
它似乎能够找到证书,但无法将其分配给创建的绑定.使用正确的IP/Port/HostHeader创建绑定,检查SNI,但SSL证书是"未选中"
从IIS管理器一切正常
我尝试过来自SO和其他网站的各种说明,例如:
http://technet.microsoft.com/en-us/magazine/jj871065.aspx
Powershell IIS7 Snap in将SSL证书分配给https绑定 …
我正在尝试使用 OAuth 和 EWS 托管 API 登录 Office 365 Exchange Online。
我能够使用连接到 Office 365 Web API (REST),因此我确实拥有来自 Active Directory 身份验证库 (ADAL) 的有效令牌。
现在,我正在尝试使用 EWS 和 TokenCredentials 进行连接。
代码很简单,我认为:
public static ExchangeService ConnectToServiceWithImpersonation(string token)
{
var service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
if (true)
{
service.TraceListener = new TraceListener();
service.TraceFlags = TraceFlags.All;
service.TraceEnabled = true;
}
var credentials = new TokenCredentials(token);
service.Credentials = credentials;
service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
return service;
}
Run Code Online (Sandbox Code Playgroud)
令牌由 ADAL 生成,而 ADAL 又来自使用“Office 365 API 工具 - 预览”的示例代码
// Obtain …
Run Code Online (Sandbox Code Playgroud) 我目前有一些堵塞.
我的理论查询看起来像这样:
SELECT * FROM Table WHERE X in (a, b, c) AND Y IN (d, e, f)
Run Code Online (Sandbox Code Playgroud)
所以基本上,我希望所有行都有多列匹配,这意味着:
X, Y
1, 2
3, 4
5, 6
7, 8,
9, 10
Run Code Online (Sandbox Code Playgroud)
如果我想将所有行放在哪里(X=1, Y=2)
或者(X=5, Y=6)
,那么X和Y是相关的,我该怎么做?
(MS SQL2005 +)
c# ×2
asp.net-mvc ×1
certificate ×1
iis-8 ×1
json ×1
ms-office ×1
oauth-2.0 ×1
powershell ×1
sql ×1
sql-server ×1
ssl ×1