1

我目前正在从事 Windows 服务项目。我添加了对项目外部类库的引用,因为我需要使用该 dll 中的函数。

但是,我需要的类库函数正在获取会话值,但我不能使用这些 Web 方法,因为我的只是 Windows。我只能想到两种方法来解决这个问题。

1)从外部类库中重载我需要的函数,并用输入参数替换会话值。这肯定是一个耗时的过程,因为我有许多该函数所指的会话值。

2) 我可以创建一个 Windows 窗体应用程序。将 Web 浏览器控件添加到表单。配置 URL 以具有外部项目中的函数所需的所有输入参数。添加调度程序以作为后台进程运行。在我需要参考的用 ASP.NET 编码的外部项目中,我可以添加一个新页面,该页面从我的 Windows 窗体应用程序中获取 URL。解析查询字符串以获取输入值并传递给所需的函数。

您能否建议是否有更好的方法。谢谢 !

4

2 回答 2

0

选项一似乎是最好的。这是最整洁的,让您可以控制您的项目。我想当你开始这样做时,你会注意到你可以利用的模式,这样总的工作就不像现在看起来那么多了。

捷径很少是短的。

于 2012-10-04T02:22:11.283 回答
0

我推荐选项 1。选项 2 看起来像是一场等待发生的巨大噩梦,而选项 1 看起来像是一个简单(尽管费力)的代码更改。

您可以通过在 Visual Studio 或您最喜欢的文本编辑器中执行正则表达式搜索/替换来减少选项 1 的痛苦。我一直使用这种技术进行繁琐的大规模代码更改,一旦你习惯了它就会非常有效。

然而,长期的解决方案必须是更改库代码。编写依赖于全局状态的可重用库代码始终是灾难的根源。

于 2012-10-04T17:42:49.687 回答