Я сталкиваюсь с проблемой, когда пытаюсь запустить приложение на сервере своей компании, на своем локальном компьютере и в IIS. У меня нет проблем. Играя с обоими (сервер компании и мой компьютер) конфигурацией IIS, я обнаружил, что проблема в файлах Web.config. Файл web.config моего веб-приложения выглядит следующим образом:
<configuration>
<appSettings>
<add key="FilesPath" value="/MobileApp/Excel/"/>
<add key="dbConn" value="Server=192.168.10.1\\SQLEXPRESS;Initial Catalog=A;User Id=sa;Password=1223;" />
</appSettings>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
</system.web.extensions>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"/>
<add assembly="Microsoft.Vbe.Interop, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"/>
</assemblies>
</compilation>
<authentication mode="Forms"/>
</system.web>
</configuration>
И здесь есть разница. На моем локальном пути IIS root файл web.config выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
</system.webServer>
</configuration>
И файл сервера web.config выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<identity impersonate="false" />
<authentication mode="Windows" />
<sessionState cookieless="AutoDetect" mode="InProc" regenerateExpiredSessionId="false" />
</system.web>
<system.webServer>
<directoryBrowse enabled="true" />
<staticContent>
<mimeMap fileExtension=".pac" mimeType="application/x-ns-proxy-autoconfig" />
<mimeMap fileExtension=".jnpl" mimeType="application/x-java-jnlp-file" />
</staticContent>
<tracing>
<traceFailedRequests>
<remove path="*" />
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket" verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:00" statusCodes="100-999" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
</configuration>
Я пытаюсь выполнить следующие действия: выполнить вызов ajax и на локальном IIS работает нормально, когда я запускаю тот же код на сервере IIS, я получаю сообщение об ошибке 401 Unauthorized .
Что может быть причиной этой ошибки ? И если файл web.config на сервере есть способ избежать чтения этого файла? Потому что мне легко удалить все, но на этом сервере запущено много приложений, и если я что-то удаляю, я не знаю, как это повлияет на функциональность.
PD. На локальном IIS я использую версию 7.5, а на сервере я использую IIS 8.