部署我的Web应用程序而不更改路径

时间:2016-03-14 12:43:25

标签: asp.net angularjs asp.net-web-api

在我正在开发的Web应用程序中,我的后端有一个ASP.NET Web API项目,前端有另一个项目(AngularJS)。我的后端正在 localhost:1337 上运行,我的前端在 localhost:1338 上运行。这非常好用,但是我将它部署到我的网络服务器时遇到了麻烦。

在我的前端,我声明了基础localhost:1337,但这不适用于服务器(我理解)。我需要在部署之前更改路径,因此我的前端会调用服务器上的API。

我的问题是:有没有办法改变这些部分?每当我提交一些内容然后直接从我的前端服务器调用后端时,将后端部署到服务器上会更好吗?

修改

有关我如何做的更多信息: 在Visual Studio中,我将项目属性中的本地项目URL设置为这些特定URL。要在我的javascript中的某个地方进行这些调用,我有一个类似var BaseUrl = "localhost:1337";的BaseUrl,并且我使用这个“硬编码”URL为我的API创建所有HttpRequests。例如,每次部署时都必须更改此URL。

我如何部署:在VS中右键单击项目 - >发布,然后我有两个项目的特定配置文件。它们都正确部署到服务器。

1 个答案:

答案 0 :(得分:0)

有许多可能的解决方案:

  • 根据解决方案配置部署不同的文件(例如,如果您使用的是捆绑包,则可以使用变量在不同的捆绑包中包含不同的脚本)。
  • 拦截.js文件的请求,并使用一些配置文件动态修改它。其中一个变体是从MVC操作或.aspx.asmx为您提供.js文件。您的浏览器根本不需要.js扩展名。
  • 使用构建后脚本修改.js文件

由于您没有提供更具体的信息,我只是展示了一些可能的解决方案。