【发布时间】:2012-03-03 14:09:25
【问题描述】:
我开发了一个 C# Windows 服务应用程序,其中包含我想从 ASP.NET Web 应用程序调用的某些方法(这些方法返回结果很重要)。我最初的猜测是我可以将 Windows 服务的 dll 导入 Web 应用程序,但我只能找到 Windows 服务的可执行文件,根本没有 dll。 是否可以将 Windows 服务编译成 dll?如果没有,是否有其他方法可以将我的 Web 服务引用到 Web 应用程序中?
【问题讨论】:
我开发了一个 C# Windows 服务应用程序,其中包含我想从 ASP.NET Web 应用程序调用的某些方法(这些方法返回结果很重要)。我最初的猜测是我可以将 Windows 服务的 dll 导入 Web 应用程序,但我只能找到 Windows 服务的可执行文件,根本没有 dll。 是否可以将 Windows 服务编译成 dll?如果没有,是否有其他方法可以将我的 Web 服务引用到 Web 应用程序中?
【问题讨论】:
将通用功能提取到类库项目中,并从两个项目中引用它。
【讨论】:
您的 Windows 服务是托管 Web 服务还是仅包含需要在您的 Windows 服务和网站中访问的代码?
如果是前者,那么您可以通过常规机制连接到它以连接到 Web 服务(例如,在 Visual Studio 中添加服务引用)。如果是后者,则创建一个您的 Windows 服务项目和 Web 项目都可以引用的类库(通过 Visual Studio 中的添加引用)。
【讨论】:
你有两个选择。如果您只需要调用代码,那么您可以通过服务上的自定义操作调用 Windows 服务功能,从您的代码中调用。
但是,我认为您需要的更复杂,也需要响应。在这种情况下,根据 sga101,将适当的功能封装到一个单独的类中,并在两个地方都使用它。这意味着代码项目应该都包含在同一个解决方案中(这不是绝对必要的,但它可以最容易地保持代码匹配)。
【讨论】: