gpt4 book ai didi

javascript - 在客户端 js SPA 中从 web.config 读取 App Key 值

转载 作者:行者123 更新时间:2023-11-29 18:16:01 25 4
gpt4 key购买 nike

我有 Durandal SPA,它在不同的 View 中使用 url.config.js 文件。一堆服务的 URL 存储在那里。

为了清晰起见,代码:

define([], function () { 
var serviceBaseUrl = 'http://localhost/Service/api/';
var portalPortalUrl = 'http://localhost/Portal';
});

每当我需要部署我的应用程序或使用不同的 IIS 设置运行它时,我需要在代码中手动更改此 url。

我想要的:

将它们存储在 Web.config 文件中,这样我就可以对调试和 Release模式进行不同的配置。

我使用 MVC 5 Razor View 仅用于渲染包和初始内容,所有客户端逻辑都放在 Durandal 文件夹中。

我只找到了使用 ASP.NET ConfigurationManager 的解决方案,如下所示:

 function ReadConfigurationSettings()
{
var k = '<%=ConfigurationManager.AppSettings["var1"].ToString() %>'
alert(k);
}

或者,对于 Razor:

@System.Configuration.ConfigurationManager.AppSettings["myKey"]

这很酷,但不是我的方式。也许可以根据 Web.config 键自动生成我的 urls.config.js 文件?先感谢您。

如果需要,这是我的项目结构:

- App //Durandal SPA 
- Controllers
- Views //Only render initial view
- Web.config

最佳答案

您可以使用 JavaScriptResult

Sends JavaScript content to the response.

代码, Controller 操作方法

public JavaScriptResult Config()
{
var script = string.Format(@"var configServiceBaseUrl = {0};", ConfigurationManager.AppSettings["var1"]);
return JavaScript(script);
}

在页眉中(我会先加载文件),你可以定义:

<script type="text/javascript" src='@Url.Action("Config", "Controller")'></script>

现在 configServiceBaseUrl 是全局 JavaScript 变量,您可以在任何地方使用。

所以你可以在url.config.js中使用configServiceBaseUrl

define([], function () { 
var serviceBaseUrl = configServiceBaseUrl;
});

关于javascript - 在客户端 js SPA 中从 web.config 读取 App Key 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23360413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com