找不到IIS Express静态文件 [英] IIS Express static files not found

查看:87
本文介绍了找不到IIS Express静态文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请允许我说我有Linux背景,并且在Windows上进行开发对我来说还很新.

Let me preface by saying that I have a Linux background and developing on Windows is fairly new to me.

我正在处理在Visual Studio中打开的ASP.NET项目.该项目最初设置为通过IIS运行. VS很有帮助地问我是否要尝试IIS Express,我说可以.该应用程序最初有一些小问题,但这是因为代码既旧又庞大.解决这些问题后,该应用程序会正常加载,但所有静态文件除外.对于文件系统上实际存在的资源,我得到404 Not Found.

I am working on a ASP.NET project that I have opened in Visual Studio. The project was originally set up to run via IIS. VS helpfully asked me if I would like to try IIS Express and I said yes. The app had a few hiccoughs initally, but that's because the code is old and huge. After resolving those issues, the app loads fine, except for any static files. I get a 404 Not Found for resources that actually exist on the filesystem.

您在照片中看到的物理路径位于Web.config文件旁边的文件夹中.我可以从exec目录(它是图形目录的同级目录)中加载aspx文件.我要在此图片中加载的favicon.ico文件位于图形目录中.

That physical path you see in the photo exists in a folder right next to the Web.config file. I can load aspx files from an exec directory that is a sibling of the graphics directory. The graphics directory is where the favicon.ico file I'm trying to load in this picture is.

我今天已经阅读了很多有关IIS和IIS express的文档,但它们都没有提到必须对静态文件做一些特殊的事情.也许我只是很胖.如果需要我的Web.config,请告诉我,我可以在这里附加它.

I've read a lot of documentation today for IIS and IIS express and none of them have mentioned having to do anything special for static files. Maybe I'm just thick. If my Web.config is needed let me know and I can attach it here.

1)在此方面取得了一些进展.在成熟的IIS下,我也得到了完全相同的错误.我的静态内容没有显示.

1) Some progress on this. I am getting the exact same error under full-blown IIS as well. My static content does not show up.

2)这是所请求的web.config

2) Here's web.config as requested

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <configSections>
    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
  </configSections>
  <!--
    For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.

    The following attributes can be set on the <httpRuntime> tag.
      <system.Web>
        <httpRuntime targetFramework="4.5" />
      </system.Web>
  -->
  <loggingConfiguration name="loggingConfiguration" tracingEnabled="true" defaultCategory="General">
    <listeners>
      <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" source="Enterprise Library Logging" formatter="Text Formatter" log="" machineName="." traceOutputOptions="DateTime, Timestamp, ProcessId" />
      <add name="W3C Rolling Flat File Trace Listener" type="App.W3CLogTraceListener, App, Version=1.0.0.0, Culture=neutral" listenerDataType="App.W3CLogTraceListenerData, App, Version=0.0.0.0, Culture=neutral" fileName="appA65.log" fileHeader="date time session-id client-ip page url form-data cookie" footer="" formatter="Text Formatter" header="" rollInterval="Midnight" timeStampPattern="yyyy-MM-dd" />
    </listeners>
    <formatters>
      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{message}" name="Text Formatter" />
    </formatters>
    <logFilters>
      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Filters.LogEnabledFilter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" enabled="false" name="Logging Enabled Filter" />
    </logFilters>
    <categorySources>
      <add switchValue="All" name="General">
        <listeners>
          <add name="W3C Rolling Flat File Trace Listener" />
        </listeners>
      </add>
    </categorySources>
    <specialSources>
      <allEvents switchValue="All" name="All Events" />
      <notProcessed switchValue="All" name="Unprocessed Category" />
      <errors switchValue="All" name="Logging Errors &amp; Warnings">
        <listeners>
          <add name="Event Log Listener" />
        </listeners>
      </errors>
    </specialSources>
  </loggingConfiguration>
  <appSettings>
    <!-- To enable or disable IETP user session management, true to enable, false to disable -->
    <add key="IetpSessionEnabled" value="false" />
    <!-- To specifies where the folder for session files -->
    <add key="IetpUserSessionServerPath" value="d:\apps\ietpusersessions" />
    <!-- To determines the duration of s user session in terms of minutes -->
    <add key="IetpUserSessionLengthInMinutes" value="600" />
    <!-- to enable/disable sending out email on exceptions, true to enable, false to disable -->
    <add key="EmailAlertEnabled" value="true" />
    <!-- the exception email alert list, seperated by comma -->
    <add key="EmailAlertToAddress" value="alice@example.com" />
    <!-- email sender address -->
    <add key="EmailAlertFromAddress" value="bob@example.com" />
    <!-- to enable or disable Pdf print, wehn set "true", all user local print requests will be -->
    <!-- processed on the server and the final PDF will be rended in browser -->
    <add key="PdfPrintEnabled" value="true" />
    <add key="PdfPrintServiceUrl" value="https://example.com/PdfPrintService/PdfPrintService/PDFPrint.aspx" />
    <add key="FooterDisclaimer" value="Footer here" />
  </appSettings>
  <system.web>
    <httpRuntime targetFramework="4.0" requestValidationMode="2.0" />
    <!-- <httpRuntime executionTimeout="300" /> -->
    <compilation debug="true" defaultLanguage="c#" targetFramework="4.5.1" />
    <customErrors defaultRedirect="~/exec/generalError.aspx" mode="Off" />
    <sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" stateNetworkTimeout="11" timeout="600" />
    <pages controlRenderingCompatibilityVersion="4.0" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="URLWriteHttpModule" />
      <add name="URLWriteHttpModule" type="App.URLWriteHttpModule" />
    </modules>
    <defaultDocument>
      <files>
        <clear />
        <add value="default.aspx" />
        <add value="Default.asp" />
        <add value="Default.htm" />
        <add value="index.htm" />
        <add value="index.html" />
      </files>
    </defaultDocument>
    <tracing>
      <traceFailedRequests>
        <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" verbosity="Verbose" />
          </traceAreas>
          <failureDefinitions timeTaken="00:00:00" statusCodes="500-599" verbosity="Error" />
        </add>
      </traceFailedRequests>
    </tracing>
        <handlers accessPolicy="Read, Execute, Script" />
  </system.webServer>
</configuration>

最终编辑- 我从来没有真正能够找出问题出在哪里.重新安装操作系统可以解决此问题,而我再也无法复制它.

Final Edit- I was never really able to figure out what went wrong. A re-install of the OS fixed this issue and I was never able to duplicate it again.

推荐答案

可以尝试添加吗?

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

IIS前提条件

您是否在IIS中启用了静态内容?

Did you enable static content in IIS?

  1. 检查您的gloabl.asax这种行是否存在

  1. Check your gloabl.asax this kind of line exists

routes.IgnoreRoute("{resource} .axd/{* pathInfo}");或者 route.IgnoreRoute("{ favicon}",新的{favicon = @(./)?favicon.ico(/.*)?"});

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); or routes.IgnoreRoute("{favicon}", new {favicon=@"(./)?favicon.ico(/.*)?"});

或类似的东西

  1. 注释URL重写部分并检查其工作情况吗?

而且我相信您要仔细检查文件是否存在,或者路径是否正确:)

And I believe you double check that file exists or not in correct path :)

这篇关于找不到IIS Express静态文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆