【问题标题】:Add WCF service to website project将 WCF 服务添加到网站项目
【发布时间】:2012-11-05 13:54:31
【问题描述】:

我有一个 asp.net 网站,它可以访问数据库并具有我希望允许第 3 方用户使用的功能。

是否可以将 WCF 项目/WCF 服务添加到我的解决方案中,以便我可以让第 3 方成员访问我的方法?

我们尝试了 myWebsite->Add New Item-> Wcf 服务/wcf 数据服务,但这似乎不起作用。

任何帮助都会很棒。

【问题讨论】:

  • 你能详细说明它是如何不起作用的吗?您应该将其添加为单独的项目(WCF 服务应用程序)
  • 好的,但是既然我的项目是网站,我的WCF项目怎么能识别我原始网站的类呢?
  • 请解释什么不起作用。您无法添加 WCF 服务,因为它不可用?还是添加的服务本身不起作用?
  • 我想使用 WCF 公开我的项目,如果我将另一个 WCF 服务应用程序添加到我的解决方案中,我将无法使用我想要公开的旧类WCF 应用程序,我怎样才能制作一个 WCF 应用程序,它使用属于来自不同网站的类的方法/
  • 这篇文章很好地回答了这个问题:stackoverflow.com/questions/10374131/…

标签: c# asp.net wcf


【解决方案1】:

它不起作用,因为您试图添加对现有服务的引用以使用它。你想要的恰恰相反。

为此,您必须在解决方案中创建一个 WCF 服务类型的单独项目。

有关创建 WCF 服务的更多信息,请访问 MSDN

请记住,如果您想通过服务公开某些功能,则必须将网站的功能分解到 WCF 服务和网站都可以使用的另一个项目中。

【讨论】:

【解决方案2】:

您应该能够从解决方案资源管理器中的解决方案根目录添加新的 WCF 服务项目...

右击>>添加>>新建项目

您的问题并不清楚什么“不起作用”。

您新添加的项目将需要引用包含您要访问的方法的现有项目。您也许应该考虑您当前的设计是否合适 - 确保您已将演示代码(这应该是您的网站项目)与您想要共享的常见业务功能分开(我会将其作为单独的类库项目解决方案)。然后,您的 WCF 项目可以引用通用的“业务逻辑”项目。

从 WCF 项目中引用您的“业务逻辑”项目...

右键单击(在 WCF 项目上)>> 添加引用

【讨论】:

  • 好的,但是既然我的项目是网站,我的WCF项目怎么能识别我原始网站的类呢?
  • 你应该把它们放在一个由两个/所有项目共享的公共项目中
【解决方案3】:

不确定什么“不起作用”,但 MSDN 提供了在此处向网站添加 WCF 服务的演练:

How to: Host a WCF Service in IIS

这一步一步地创建 WCF(标记和代码)并手动添加相关的 web.config 条目,而不是使用“添加服务”对话框。

如果您在解决方案中创建单独的项目来运行服务,则需要在新服务项目上使用 Add Reference 选项引用现有网站项目。这将允许您在新服务项目中使用现有项目中定义的类和函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    相关资源
    最近更新 更多