【问题标题】:Creating web interface for WCF service为 WCF 服务创建 Web 界面
【发布时间】:2015-10-26 12:22:04
【问题描述】:

我现在有两个项目——一个从数据库中提取的 WCF 服务,以及一个使用 AngularJS 作为接口的 ASP.NET 项目。我的问题 - 有没有办法将两者结合到一个项目中?我希望发生的事情:运行 WCF 服务时,我的界面应该出现在浏览器中,而不是传统的 XML 页面。我知道可以将服务的 dll 粘贴到接口的文件结构中,但我希望接口在服务中,而不是相反。这可能吗?有谁知道如何做到这一点?提前致谢!

【问题讨论】:

    标签: c# asp.net angularjs web-services wcf


    【解决方案1】:

    是的,您可以将 WCF 和 ASP.NET 项目合并到一个项目中。只需确保将 WCF 项目中的所有引用添加到 ASP.NET 项目以及任何 web.config 文件设置即可。

    您能否就问题的第二部分提供更多信息,“我的界面应该出现在浏览器中,而不是传统的 XML 页面”?

    【讨论】:

    【解决方案2】:

    我强烈建议保留两个项目。在逻辑层中构建软件通常被认为是良好的架构。在您的情况下,您有一个业务/数据访问层和一个表示层。很普通的。合并它们将是一个错误!随着时间的推移,您肯定会遇到交叉的担忧;而如果将它们分开,您将拥有可测试的层。

    此外,将您的接口分离到另一个项目中通常是个好主意,这样所有其他项目都依赖它作为整个解决方案的基础架构或骨架。

    分层架构参考:https://msdn.microsoft.com/en-us/library/ee658109.aspx

    【讨论】:

    • 我完全同意这一点。但是,在运行进入我的界面的服务时,是否有可能以某种方式只拥有另一个子 URL?
    • 我怀疑你想要什么,并排托管 WCF 和 ASP.NET:msdn.microsoft.com/en-us/library/aa702682.aspx
    • 或者,如果您只想通过任意 URL 提供对 .SVC 或 WSDL 的访问,您可以简单地将 WCF 接口和 .SVC 复制到一个目录中。我刚刚从 WCF 项目复制到 Web 中,并在 localhost:15644/Test/Service1.svc 获得了服务说明
    • 有趣...我按照您的建议添加了 Asp 兼容模式的内容,现在当我运行该项目时,WCF 测试客户端会打开。那么有没有办法打开我的客户端应用程序?
    • 不确定。项目属性 Web -> Start Action 是否更改为 Test Client?
    猜你喜欢
    • 2011-10-01
    • 2011-08-26
    • 1970-01-01
    • 2010-12-03
    • 2019-11-15
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多