0

目标:在本地站点上加载资源,而不仅仅是生产站点。

摘要:我有一个加载到 Angular 站点中的 iframe 的 C# .NET 聊天应用程序。它在 PRODUCTION 上运行良好,但我无法让所有东西在我的 VM 上运行(特别是某些资源无法在正确的位置加载)

本地聊天站点(在我的虚拟机上):localhost:7078

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

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

  • 如果我在 .aspx 代码中更改它,它会使 LOCAL 站点工作,但会破坏 PRODUCTION 站点
  • 想要为生产站点保留 /chat/,但 LOCAL 不适用于该站点

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

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

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

我尝试过更改 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>

网络配置

  <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>

我确定我缺少一些令人讨厌的简单的东西,有人可以帮我指出正确的方向吗?

4

0 回答 0