我正在开发一个包含使用 OAuth 2.0 服务的 Windows 运行时组件(它使用 WebAuthenticationBroker 并安全地存储返回的令牌),但 OAuth 服务可以托管在几个不同的位置之一。例如,我们有自己的本地开发服务、多达 5 个不同的 alpha/qa 环境、一个预生产环境和实时生产环境。所有这些不同的环境都响应不同的 URI。
我希望能够更改我的组件所针对的 URI,以便使用我的组件的人可以针对这些环境中的任何一个,但我并不特别想将 URI 放在设置魅力中(如果这对于运行时来说甚至是可能的)组件),因为我不希望最终用户能够配置它。
我考虑过使用#if Debug/Live/Preprod/QA1 等,并在代码中包含内联的各种 URI,但这似乎不是一个非常实用的解决方案。我不想有那么多不同版本的二进制文件可供选择。有没有一种实用的方法来管理这个?
我刚刚想到的一个想法是假设组件正在使用实时服务器并使用 ApplicationData 中的设置来覆盖它。我不确定运行时组件是否会与使用它的应用程序共享相同的 ApplicationData 存储,我认为它可能会,但我只是在猜测。
注意,我也在 MSDN 的 Win 8 开发者论坛上发布了这个问题。