WCF Web服务在Azure中遇到404

时间:2010-04-12 22:46:40

标签: azure web-services wcf azure-web-app-service

我是使用WCF和Azure的新手,但我有一个在Visual Studio中调试时可以正常工作的WCF Web服务。我将启动项目设置为Azure,并且我尝试与该服务相关的任何URL都出现404错误。

以下是我认为的相关代码: 来自IWebService.cs

[OperationContract]
[WebGet(UriTemplate = "GetData/Xml?value={value}", ResponseFormat=WebMessageFormat.Xml)]
string GetDataXml(string value);

并从Web.config:

<system.serviceModel>
  <services>
    <service name="WebService" behaviorConfiguration="WebServiceBehavior">
      <!-- Service Endpoints -->
      <endpoint address="" binding="webHttpBinding" contract="IWebService" behaviorConfiguration="WebEndpointBehavior"></endpoint>
      <endpoint address="ws" binding="wsHttpBinding" contract="IWebService"/>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="WebServiceBehavior">
        <serviceMetadata httpGetEnabled="true"/>
        <serviceDebug includeExceptionDetailInFaults="true"/>
      </behavior>
    </serviceBehaviors>
    <endpointBehaviors>
      <behavior name="WebEndpointBehavior">
        <webHttp/>
      </behavior>
    </endpointBehaviors>
  </behaviors>
</system.serviceModel>

我尝试将绑定更改为'basicHttpBinding',但没有运气。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

经过多次挖掘,我得到了它的工作。 我不得不这样做:

  1. 以管理员身份运行Visual Studio命令行。
  2. 转到C:\ Windows \ Microsoft .NET \ Frameword v3.0 \ Windows Communication Foundation
  3. 运行“servicemodelreg -i”
  4. 这将安装查看服务所需的所有内容。