gpt4 book ai didi

configuration - GWT 的服务器端配置

转载 作者:行者123 更新时间:2023-12-02 18:05:26 32 4
gpt4 key购买 nike

尽量避免在这里重新发明轮子。我有一个准备部署的 Google Web Toolkit 页面,但与我通信的 Web 服务在已部署的服务器上将具有与本地测试计算机不同的相对地址。

因此,我正在寻找一种简单的方法来部署某种易于编辑的配置文件,我可以将基本设置放在服务器端。我有一些关于如何做到这一点的想法,但它们看起来有点老套,在我看来,必须已经有解决此类问题的解决方案(毕竟,每服务器设置是非常常见的事情!)

有什么想法吗?

编辑:由于这似乎没有引起太多关注,让我概述一下我最初的想法:在我使用 AJAX 调用查询的 GWT 文件本地存储一个静态文件,然后再进行任何其他操作逻辑。当文件返回时,我解析出数据并将它们存储为全局可访问的变量,然后允许页面构建逻辑运行。看起来很笨重,而且在加载之前等待 AJAX 返回有一个很大的缺点,但它会起作用。还有更好的建议吗? (请问?)

我的解决方案:我自己找到了一个解决方案,但它非常适合我的具体场景,所以我不知道它对一般用户有多大用处。无论如何,如果有人发现它有用,我会把它发布在这里。

我正在处理的页面实际上是嵌入在 ASP.net 站点中的 GWT 控件。利用这一点,以及我对 GWT Dictionary 类的发现,我构建了一个如下所示的“设置”系统:

首先,我想要的设置(在本例中是 Web 服务的地址)在 ASP.net Web.Config 文件中设置

<appSettings>
<add key="serviceUrl" value="http://mySite.com/myService.asmx"/>
</appSettings>

在嵌入 GWT 控件的 ASP 页面中,我添加了一个“静态”JavaScript 对象,其中包含我需要的配置设置:

<head runat="server">
<title>Picklist Manager</title>

<script type="text/javascript" language="javascript">
var AppConfig = {
serviceUrl: "<%= ConfigurationManager.AppSettings["serviceUrl"] %>"
};
</script>
<script type="text/javascript" language="javascript" src="gwtcontrol.nocache.js"></script> <!-- Include my GWT control -->
</head>

最后,在 GWT 中,我创建了一个静态“AppConfig”类,它公开了此设置,如下所示:

public class AppConfig {
public static String serviceUrl = "defaultUrl";

public static void Initialize() {
Dictionary appConfig = Dictionary.getDictionary("AppConfig");
if(appConfig == null) { return; }

servicePath = appConfig.get("serviceUrl");
}
}

从那里我可以在代码中的任何位置调用 AppConfig.serviceUrl 来获取设置...哇!所以是的,这是一个很好的又长又复杂的方法,但它对我有用。在给出的答案中,亚历山大的似乎最符合我正在寻找的内容,因此赏金归他所有,但感谢所有为我的棘手小问题提供帮助的人!

最佳答案

请随意纠正我,但您似乎不需要运行时服务器端配置。如果您确实需要这种灵 active ,或者您想对所有部署使用单个 .zip,则可以使用 Yahoo's Performance Rules 中给出的技术。 -(请参阅“添加过期或缓存控制 header ”部分)- 遥远的 future 过期 header 。这意味着 AJAX 请求将被浏览器大量缓存,并且只会导致第一个请求的速度略有下降。

我实际上建议使用编译时标志和 GWT 提供的属性系统,而不是这样做。为了简化操作,我制作了一个名为 auto-config available on github 的小包。 。使用它使得访问每个部署配置变得非常简单。添加以下类:

public interface MyConfiguration extends AutoConfiguration {
public String getFoobar();
}

要从 GWT 代码访问值,请添加这个简单的帮助器:

private MyConfiguration getMyConfiguration() {
return (MyConfiguration) GWT.create(MyConfiguration.class);
}

创建多个不同的 .gwt.xml 文件,每个部署服务器一个。然后使用父 .gwt.xml 文件最大限度地减少重复。有关此主题的更多信息,请阅读 CompileOnePermutation on the GWT Wiki

总之,将以下代码段添加到您的每个部署 .gwt.xml 中(并确保添加所需的继承行):

<set-configuration-property name="foobar" value="whee1234" />

希望对您有帮助:)

关于configuration - GWT 的服务器端配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445384/

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