WCF投入生产

时间:2012-07-20 17:33:43

标签: asp.net xml wcf

我有一个WCF服务,我通过基于UriTemplate的URL GET调用来调用。直到昨天,一切都运行良好,现在除了400 Bad Request异常外,我什么也得不到。

我已将服务缩减为简单的WCF方法调用,该调用不需要输入参数并返回静态字符串。如果我在本地运行所有内容(即通过localhost),我的所有呼叫(包括这个简单的呼叫)都可以毫无障碍地工作。我尝试在Production中进行完全相同的调用,我得到400 Bad Request异常。如果我使用RequestFormat = WebMessageFormat.Json没有问题,但是当我切换到WebMessageFormat.Xml时,一切都会中断。从WebInvoke属性中取出所有内容也无济于事。

在ServiceContract属性中我设置了Namespace和Name,我有[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

我不知道还能做什么。

这是绑定:

<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
  <service name="StandardService">
    <endpoint address="http://localhost/ipghoster/GhostService.svc" behaviorConfiguration="json" binding="webHttpBinding" name="MainHttpPoint" contract="StandardService"/>
    <endpoint address="mex" binding="mexHttpBinding" name="MexEP" contract="IMetadataExchange"/>
    <host>
      <baseAddresses>
        <add baseAddress="http://www.testsite.com/StandardService.svc"/>
      </baseAddresses>
    </host>
  </service>
</services>
<bindings>
  <webHttpBinding>
    <binding openTimeout="00:10:00" sendTimeout="00:10:00" useDefaultWebProxy="false" maxReceivedMessageSize="4194304">
      <readerQuotas maxDepth="32" maxStringContentLength="2048000" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
    </binding>
  </webHttpBinding>
</bindings>
<behaviors>
  <endpointBehaviors>
    <behavior name="json">
      <webHttp defaultOutgoingResponseFormat="Json" automaticFormatSelectionEnabled="false" defaultBodyStyle="Bare"/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" httpGetBinding="webHttpBinding" httpGetBindingConfiguration=""/>
      <serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false" includeExceptionDetailInFaults="true"/>
      <useRequestHeadersForMetadataAddress>
        <defaultPorts>
          <add scheme="http" port="80"/>
        </defaultPorts>
      </useRequestHeadersForMetadataAddress>
    </behavior>
  </serviceBehaviors>
</behaviors>

我实际上在这里找到了答案 - WCF Service exception error when try to host in ASP.NET Web Site

我不确定如何归功于提供该答案的人。如果你得到这个,请在​​这里再次发帖,这样我就可以轮流给你了。

0 个答案:

没有答案