从不同的相对路径加载资源会导致500错误-配置出了什么问题?

时间:2019-05-04 01:12:00

标签: c# asp.net iis web-config applicationhost

目标:在LOCAL网站(不仅仅是PRODUCTION网站)上加载资源。

摘要:我有一个C#.NET Chat应用程序,该应用程序加载到Angular网站的iframe中。在PRODUCTION上可以正常运行,但是我无法在VM上运行所有内容(特别是某些资源无法在适当的位置加载)

本地聊天站点(在我的VM上): localhost:7078

生产聊天网站: www.site.com/chat

资源的相对路径:“ /chat/content/images/file.png

  • 如果我在.aspx代码中更改此设置,它将使LOCAL站点正常工作,但是 破坏了PRODUCTION网站
  • 想保留/ chat /用于生产站点,但是LOCAL不起作用 有了

在本地,获取错误:“获取http://localhost:7078/chat/Content/images/file.png 500(内部服务器错误)”

  • 实际上加载于:/content/images/file.png

我已经为此工作了几天,查找有关IIS和applicationhost,应用程序路径,相对路径,虚拟目录等的信息。 每个解决方案都会以某种方式出错。我浏览了Microsoft文档,SO文章,博客,youtube vid等。

我尝试更改applicationhost.config,web.config,ProjectURL等。这是更改之前的外观:

applicationHost.config :(来自 \ Solution.vs \ config

<site name="ChatServer" id="3">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Folder\Subfolder\Application\ChatServer" />
    </application>
    <application path="/chat" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Folder\Subfolder\Application\ChatServer" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:7078:localhost" />
    </bindings>
</site>

web.config

  <system.web>
    <!-- Classic Mode (IIS 6 and Visual Studio) -->
    <httpHandlers>
      <add path="websync.ashx" verb="*" type="FM.WebSync.Server.RequestHandler" />
    </httpHandlers>
    <httpRuntime maxRequestLength="20000" executionTimeout="300" />
    <compilation targetFramework="4.6.1" debug="true" />
    <pages controlRenderingCompatibilityVersion="4.0" />
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <!-- Integrated Mode (IIS 7+) -->
    <handlers>
      <add path="websync.ashx" verb="*" type="FM.WebSync.Server.RequestHandler" name="WebSync Handler" preCondition="integratedMode" />




    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /><remove name="OPTIONSVerbHandler" /><remove name="TRACEVerbHandler" /><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /></handlers>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="20480000" />
      </requestFiltering>
    </security>
  </system.webServer>

我确定我缺少一些烦人的简单事情,有人可以帮我指出正确的方向吗?

0 个答案:

没有答案