小编Gra*_*Cat的帖子

是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 一起使用?

我有两个网络服务 - gRPC 客户端和 gRPC 服务器。服务器是用 .NET Core 编写的,因此对 gRPC 强制执行 HTTP/2。但是,客户端是托管在 IIS 8.5 上的 .NET Framework 4.7.2 Web 应用程序,因此它仅支持 HTTP/1.1

由于升级客户端需要一些时间,我在想是否可以在服务器端使用 HTTP/1.1 而不是 HTTP/2,但我找不到任何有关如何实现的信息。

是否可以将 HTTP/1.1 用于用 .NET Core 编写的 gRPC 服务器?如果是这样 - 如何?

c# http-1.1 http2 grpc asp.net-core

9
推荐指数
1
解决办法
3971
查看次数

并行数值积分器功能比顺序版本慢.为什么?

我正在学习Haskell中的并行策略.

问题

我写了基于梯形规则(顺序)的积分函数:

integrateT :: (Fractional a, Enum a, NFData a) => (a -> a) -> (a,a) -> a -> a 
integrateT f (ini, fin) dx 
  = let lst = map f [ini,ini+dx..fin]
    in sum lst * dx - 0.5 * (f ini + f fin) * dx
Run Code Online (Sandbox Code Playgroud)

我运行如下:

main = do
  print $ (integrateT (\x -> x^4 - x^3 + x^2 + x/13 + 1) (0.0,1000000.0) 0.01 :: Double)
Run Code Online (Sandbox Code Playgroud)

以下是运行的统计信息:

stack exec lab5 -- +RTS -ls -N2 -s
1.9999974872991426e29 …
Run Code Online (Sandbox Code Playgroud)

haskell

6
推荐指数
1
解决办法
92
查看次数

ASP.NET Core忽略的SameSite Cookie属性

我试图将带有ASP.NET Core的cookie的SameCookie属性显式设置为None。

我尝试执行此操作的方法是这样设置CookieOptions的属性值:

var options = new CookieOptions
{
    SameSite = SameSiteMode.None
};
Run Code Online (Sandbox Code Playgroud)

(为简便起见,省略了其他属性)

但是,当我检查服务器响应标头(服务器应该使用SameSite = None设置cookie)时,可以看到SameSite被省略了。相反,我可以清楚地看到“价值”,“到期”,“甚至安全”。

如果我将C#代码中的SameSite设置为Lax或Strict,则可以看到它明确包含在Set-Cookie标头中。如果将其设置为“无”,则无法。

我确实检查了两个浏览器-Firefox和Chrome 77(我知道此版本引入SameSite的更改)。

有一个hack包含SameSite = None。您只需要向CookieOptions的Path属性添加以下行:

options.Path += "; samesite=None";
Run Code Online (Sandbox Code Playgroud)

然后可以在响应的Set-Cookie标头中找到它。

有没有一种方法可以配置Kestrel(没有用于托管的IIS,裸Kestrel)在标头中包含SameSite = None,而不会像这样骇客呢?

c# cookies asp.net-core

6
推荐指数
1
解决办法
807
查看次数

标签 统计

asp.net-core ×2

c# ×2

cookies ×1

grpc ×1

haskell ×1

http-1.1 ×1

http2 ×1