gpt4 book ai didi

c# - 如何区分真实的 http 上下文或请求与假的?

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:19 25 4
gpt4 key购买 nike

我们有一个在 Web 环境和 Windows 服务中调用的程序集。在一种方法中,它需要调查请求。但是当它运行在Windows服务中时,我们需要跳过那段代码。我用了通常的方法

if (HttpContext.Current == null)
return;

但是发生了什么,上下文不为空,因为第三方程序集在某处创建了假服务器。因此 HttpContext.Current 包含 ServerRequest 等。快速观察可以看出这是不同类型的上下文。我可以通过这样做来解决问题

if (HttpContext.Current == null || 
HttpContext.Current.Request.Url.Host.IndexOf("www.izenda.com",StringComparison.CurrentCultureIgnoreCase) > -1)
return;

但是,如果 Izenda 的下一个版本在 URL 中包含其他内容怎么办?如果公司更改名称,Url 将不同怎么办?

是否有另一个属性可以将真实的网络服务器请求或上下文与这个假对象分开?

最佳答案

只需在 WindowsService 配置文件中的 appsettings 中放置一个 key 即可。

<add key="isService" value="true"/>

并在代码中添加一个检查以区分黑白网站或服务。

关于c# - 如何区分真实的 http 上下文或请求与假的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41575268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com