При вызове веб-API в веб-форме ASP.NET он не может загрузить файл или сборку Autofac.Integration.Web или одну из ее зависимостей. - PullRequest
1 голос
/ 21 мая 2019

Возможно, этот вопрос слишком широкий, но он потратил много времени, и я не могу найти решение для этого. Поэтому я решил поделиться своей проблемой для любой идеи.

У меня есть проект веб-формы ASP.NET, в котором есть веб-страница (.aspx), включающая один тег, подобный следующему:

<iframe runat="server" src="API URL"></iframe>

Запустив проект, я получаю следующую ошибку:

Не удалось загрузить файл или сборку 'Autofac.Integration.Web' или одну из его зависимости. Система не может найти указанный файл.

Описание : Произошло необработанное исключение во время выполнения текущий веб-запрос. Пожалуйста, просмотрите трассировку стека для более информация об ошибке и ее возникновении в коде.

Сведения об исключении : System.IO.FileNotFoundException: не удалось загрузить файл или сборка 'Autofac.Integration.Web' или одна из ее зависимостей. Система не может найти указанный файл.

Если я удалю этот тег, у меня не будет ошибок.

Фактически, за пару дней до того, как я добавил Autofac, и он добавил следующие теги в мою веб-конфигурацию :

<modules runAllManagedModulesForAllRequests="true">      
  <add name="ContainerDisposal" type="Autofac.Integration.Web.ContainerDisposalModule, Autofac.Integration.Web" preCondition="managedHandler"/>
  <add name="PropertyInjection" type="Autofac.Integration.Web.Forms.PropertyInjectionModule, Autofac.Integration.Web" preCondition="managedHandler"/>
</modules>

Когда я удаляю эти add tags, у меня нет ошибок. Я не знаю, почему эти теги негативно влияют на вызов API.

Еще один момент, который, вероятно, может быть важен, состоит в том, что API включает Hangfire . Но, насколько я знаю, от Autofac нет никаких ссылок на API.

Редактировать

Веб-API расположен в подпапке приложения веб-формы на рабочем сервере следующим образом:

Web Form Application:
    > bin
    > web.config
    > Web API
        > bin
        > web.config

Как видите, приложение веб-формы web.config влияет на веб-API из-за расположения веб-API. По ряду причин я не могу изменить местоположение.

Я видел много тем и статей об этом, но они не дали мне подсказку.

Есть идеи?

Заранее спасибо.

...