【问题标题】:Consuming and publishing my WCF and MVC projects使用和发布我的 WCF 和 MVC 项目
【发布时间】:2012-06-25 15:57:33
【问题描述】:

我是一个完全的新手。我正在使用 SQLServer 2008 数据库、WCF 项目和 Visual Studio 2010 中的 MVC3 项目构建我的第一个 Web 应用程序。我的主机是 godaddy,所以我试图从 Godaddy 启动我的 MVC 项目开始。这给了我很多问题,我决定暂时忘记它并尝试在我的本地主机上启动我的网站。现在我有两个问题:

首先:在 IIS 中创建网站后,我的 WCF 和我的 MVC 项目都已正确发布,然后使用发布方法“Web Deploy”在 Visual Studio 中发布并标记为 IIS 应用程序。在输出框中,我收到消息“开始 Web 部署将应用程序/包发布到某个 url (localhost:port/IIS-websitename) ......发布已成功部署...... " 如果我​​然后转到上面提到的 url,我会收到错误“找不到网页”。

第二个问题:在我成功发布了我的 WCF 项目后,我认为我应该能够在我的 MVC 项目中向该服务添加一个服务引用以使用我的 WCF,但是在我的“添加”中没有发现任何服务Visual Studio 中的“服务参考”对话框!!

谁能帮帮我?我对这些技术(IIS、Web 部署等)一无所知,只知道如何创建我的 Web 应用程序。抱歉,如果我遇到了愚蠢的事情,但我一直在尝试我 3 天以来甚至不知道自己在做什么的东西。所以我恳求有人牵着我的手,带领我完成我认为应该是一项非常简单的任务。

提前非常感谢!!!

【问题讨论】:

    标签: deploying


    【解决方案1】:

    关于 MVC 应用:

    顾名思义,MVC 与控制器一起工作。你应该有一个控制器,它有一个方法,比如说 MainController 和 sayHi() 方法,那个方法显示你的视图,它是 index.cshtml。所以你调用它的方式是:localhost:port/MainController/sayHi(你可能需要在控制器之前添加网站名称,取决于你的配置)

    关于 WCF 服务:

    在您的网站位置下,您应该有一个 myservice.svc 文件,其中包含以下行:

    <%@ ServiceHost Language="C#" Debug="true" Service="my.service.namespace.MyService" %>
    

    您的 Web.config 文件应如下所示:

    <service name="my.service.namespace.MyService"
               behaviorConfiguration="">
        <endpoint
          address="mex"
          binding="mexHttpBinding"
          contract="IMetadataExchange" />
        <endpoint
          contract="my.service.interface.IMyService"
          binding="wsHttpBinding"
          bindingConfiguration="" />
      </service>
    

    请注意,Web.config 中的服务名称应与 myservice.svc 中的相同。

    然后调用你需要输入的服务:localhost:port/path/to/servicefile/MyService

    所以如果 myservice.svc 位于 inetpub/www/test/myservice.svc 下,则调用 localhost:port/test/myservice

    【讨论】:

    • 您好,非常感谢您的帮助!注册。 MVC:是的,我有一个 Index.html,当我调试而不是发布我的站点时也可以访问它。 Reg WCF:我的地址标签是:
    • 对不起,关于MVC:我的视图叫做Index.cshtml
    • 你有一个带有动作/方法的控制器吗?您应该将 url 指向该操作: localhost:port/IIS-websitename/myaction
    • 顺便说一句,我没有看到任何名为 App.config 的文件。只有“web.config”
    • 关于 MVC:如果我转到 Web 部署返回的 url,我会收到错误消息:“应用程序“默认网站”中的服务器错误 HTTP 错误 404.0 - 未找到...... .' 虽然我在 IIS 中的网站名为“MvcDealshoppen”。我觉得这很奇怪?!但关于 WCF:我只是明白了:“找不到网页”
    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多