0

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

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

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

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

非常感谢提前!

4

1 回答 1

0

关于 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

于 2012-06-24T15:51:01.923 回答