gpt4 book ai didi

c# - 在 IIS 7 中为运行时的 WCF 项目加载 native 托管和 C++ DLL

转载 作者:行者123 更新时间:2023-11-30 13:04:36 25 4
gpt4 key购买 nike

我使用 C# 为 IIS v7 的 .NET Framework 4.0 开发了 WCF 服务。我的服务使用一些内部依赖于一些 native C++ DLL 的托管 VC++.NET DLL。

现在我有以下选项可以继续;

1) 在 GAC(全局存储库)中发布我所有的托管 DLL2) 设置 PATH 环境变量,重新启动我的机器,以便 IIS (7) 服务器可以获取更改。

但由于以下原因,客户不希望以上两种解决方案;1)他们不想要全局可用的任何东西2) 设置 PATH,为每个部署的服务重新启动机器....NAAAAAH!!!!

所以我进行了研究,然后我发现我可以在运行时设置环境,所以我在我的 Web.config 文件中添加了一些属性,并考虑在运行时为每个服务附加我的环境。但问题是我应该在哪里编写这段代码,就好像我在服务类 IIS 中附加这段代码会失败,因为它会尝试解析所有依赖项,但由于我的代码尚未运行而失败。

现在我想要一种方法来拆分我的代码,在服务启动时为每个服务在单独的类中设置环境,并在我们取消部署时最后调用它。

我不确定这是否可能?

P.S 请记住我是 WCF 和 .NET 的新手。

我们将不胜感激您的帮助和意见。

--

朱内乔

最佳答案

如果您不设置延迟加载属性,所有引用的非托管 DLL 都将在您的 global.asax 代码执行之前加载,因此它仍然在错误的位置查找。

如果您希望它起作用,您应该遵循选项 2b) 中的所有步骤。

关于c# - 在 IIS 7 中为运行时的 WCF 项目加载 native 托管和 C++ DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8210379/

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