WCF: HTTP 404.17 НЕ НАЙДЕН после депиляции на локальный iis - PullRequest
0 голосов
/ 23 января 2019

Я создал спокойный веб-сервис в WCF. Все отлично работает, если я размещаю его через IISExpress в Visual Studio. Но после развертывания на локальном IIS возникает ошибка 404.17 NOT FOUND при попытке доступа к службе .svc. Говорится: «Не найдено Запрошенное содержимое выглядит как сценарий и не будет обрабатываться обработчиком статического файла»

Я уже пробовал эти решения:

Запустить командную строку - Пуск - cmd.exe cd C: \ Windows \ Microsoft.NET \ Framework64 [Dot Net Version] aspnet_regiis -ir а также «C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation» и выполните «servicemodelreg -i», чтобы установить их вручную.

, который ничего не изменил.

Я почти уверен, что это проблема конфигурации, но не могу ее решить, поскольку я совершенно неопытен в этом.

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
  </configSections>
  <appSettings/>
  <system.web>
    <compilation debug="true" targetFramework="4.6.2"/>
    <httpRuntime/>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="webHttpServiceBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <services>
      <service name="MyService.Service" behaviorConfiguration="ServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/"/>
          </baseAddresses>
        </host>
        <endpoint binding="webHttpBinding" contract="MyService.IMyService" behaviorConfiguration="webHttpServiceBehavior"/>
      </service>
    </services>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <directoryBrowse enabled="true"/>
  </system.webServer>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
  </entityFramework>
  <connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost\myDB;initial catalog=DB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient"/>
  </connectionStrings>
</configuration>

Я очень расстроен, пытаясь потратить несколько дней, потому что разработка этого сервиса была очень интересной, пока развертывание не провалилось полностью. Буду очень признателен за любые подсказки. Спасибо!

1 Ответ

0 голосов
/ 24 января 2019

решено: Проблема заключалась в том, что для моей базы данных SQLSERVER не было входа в систему IIS APPPOOL. Вот пошаговое объяснение: https://stackoverflow.com/a/7698316/7547137

...