Я получаю сообщение об ошибке 404 при запуске служб WCF.веб-сервисы не работают на живом сервере - PullRequest
0 голосов
/ 11 мая 2019

У меня есть служба WCF, созданная с VS2013 на Win8. Если я запускаю службу через VS (localhost: порт), я могу сделать GET ответ в json

но тот же сервис, который я размещаю на сервере (IIS7), тогда я получаю 404 Ошибка

localhost URL: http://localhost:43596/abc.svc/LoginUser/abc/abc

Live URL: http://mywwebsite.com:80/abc.svc/LoginUser/abc/abc

1 Ответ

0 голосов
/ 13 мая 2019

В моем opionio может быть что-то не так с хостинговой средой, попробуйте включить поддержку функций WCF в IIS.
enter image description here
enter image description here
Вот мой сервис, желаю, чтобы он был вам полезен.
IService1.cs

[ServiceContract]
public interface IService1
{

    [OperationContract]
    [WebGet]
    string GetData(int value);

Service1.svc.

public class Service1 : IService1
{
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }

Web.config

  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior>
          <webHttp />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <bindings>
      <webHttpBinding>
        <binding name="mybinding">
          <security mode="Transport">
            <transport clientCredentialType="None"></transport>
          </security>
        </binding>
      </webHttpBinding>
    </bindings>
    <protocolMapping>
      <add binding="webHttpBinding" scheme="http"/>
      <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
    </protocolMapping>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

Поскольку вышеуказанная конфигурация поддерживает протоколы http и https, нам нужно добавить привязку http и https в модуль привязки сайта IIS.
enter image description here
enter image description here
Ссылка.
Как заставить службу WCF использовать протокол HTTPS
Не стесняйтесь, дайте мне знать, если есть что-то, с чем я могу помочь.

...