目标:在本地站点上加载资源,而不仅仅是生产站点。
摘要:我有一个加载到 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>
我确定我缺少一些令人讨厌的简单的东西,有人可以帮我指出正确的方向吗?