【问题标题】:Reuse code between two different .net applications在两个不同的 .net 应用程序之间重用代码
【发布时间】:2014-07-29 16:25:22
【问题描述】:

我的 asp.net (4.5 framework) 项目是一个传统的 webforms 项目。这是一个小项目。这里没有数据/业务层的分离。所有类都带有 App_Code。现在我想从 .net windows 服务中使用这些相同的类。

如果我添加项目的单个 dll,那么我将能够使用这些类。但是,有没有其他简单的方法可以只使用这些类而不添加项目的 dll。 (即)是否可以生成两个不同的 dll,其中一个单独包含 app_code 类。这样我就可以将这个 dll 单独复制到我的 Windows 服务中。

有人可以帮忙吗?

【问题讨论】:

    标签: asp.net windows-services code-reuse


    【解决方案1】:

    您应该做的是创建一个new class library project,然后从您的网站和您的 Windows 服务项目中添加对该类库的引用。将所有共享功能从 App_Code 文件夹移到类库中。根据您分离关注点的程度,您可能需要删除一些特定于网络的内容。

    或者,您可以在新解决方案中创建一个类库项目,然后使用NuGet packages 分发它。但这对于入门来说可能有点过头了。

    【讨论】:

    • 谢谢。好答案。我会试试这个。还需要一个小建议。我还必须重用 web 项目的 web.config 中定义的 appsettings。使用一些处理程序等下载此 xml 文件并在我的 web 服务启动方法中使用它是一个很好的解决方案吗?
    • 否,因为 web.config 文件可能包含敏感信息。相反,请将所需的值复制/粘贴到 app.config 中,或在您的 Web 服务上创建一个 API,该服务可以调用该 API 以获取设置信息。
    • 好的。我可以在 Web 应用程序(不是 Web 服务)中添加 api。你能发个链接吗?
    • 当然可以。它被称为ASP.NET Web API。虽然你也可以考虑Windows Communication Foundation (WCF)。 Web API 更简单,WCF 更灵活。
    猜你喜欢
    • 2014-08-30
    • 2011-08-06
    • 2016-07-29
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    相关资源
    最近更新 更多