gpt4 book ai didi

c# - 检测在 C# 中运行的平台代码?

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

我有 C# 代码,我想在 WinForms 应用程序和 ASP.NET 网站中使用。虽然每个数据库连接字符串都不同,所以我希望能够找出它在哪个平台上运行并适本地设置连接字符串。有没有简单/推荐的方法来做到这一点?

这应该在 WinForms 和 ASP.NET 上编译,所以不需要 System.WindowsSystem.Web 引用。

最佳答案

框架已经为您处理了这个问题。使用 System.Configuration.ConfigurationManager.AppSettingsConfigurationManager.ConnectionStrings 读取您的连接字符串,它们将从 WinForms 中的 App.config 读取,并且来自 ASP.NET 中的 Web.config。您可以在两个配置文件中放置不同的值。

至于更一般的问题 - 您可以检查 System.Web.HttpContext.Current,如果它不是 null,您肯定是在 ASP.NET 中运行。如果它是 null,则您可能不在 ASP.NET 中,但可能只是不在请求中。您还可以尝试检查 System.Web.HttpRuntime 的一些属性。

编辑:如果您不想添加对 System.Web.dll 的引用,您可以通过反射调用上面的代码:首先调用 Type.GetType("System.Web. HttpContex") 如果它返回 null 那么你肯定不在 ASP.NET 中。如果它返回一个值,您可以继续获取其上的 Current 静态属性。

关于c# - 检测在 C# 中运行的平台代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393731/

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