0

Я использую шаблон ASP.NET в первый раз. Я смог применить ApplicationName.Core, ApplicationName.Application и ApplicationName.ORM (NHibernate) библиотеки с успехом.Как развернуть ASP.NET-шаблонную библиотеку классов WebApi в качестве автономного веб-сервиса?

Однако мне нужно сделать мои приложения доступными как веб-службы. Я понимаю, что после развертывания библиотеки с именем: ApplicationName.WebApi как веб-приложение для IIS, у меня автоматически есть веб-сервис, предоставляющий мои приложения через/api/services /.

Когда я сделал это, я продолжал получать ошибку 404.0, как показано ниже, когда я пытаюсь сделать запросы к API через мой браузер:

Error 404.0 for WebApi

мне нужно несколько советов о том, где именно я получаю вещи неправильно. Я думал, что мне, возможно, придется добавить дополнительную конфигурацию в web.config приложения.

Текущая конфигурация, как показано ниже:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <connectionStrings> 
    <add name="Default" connectionString="***" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.0.34.0" newVersion="1.0.34.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
    <system.webServer> <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true" /> 
     <handlers> 
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" /> 
     </handlers> 
    </system.webServer> 
</configuration> 

Спасибо за вашу помощь.

ответ

1

Вам необходимо развернуть ApplicationName.Web. ApplicationName.WebApi - это библиотека классов.