gpt4 book ai didi

c# - 为什么我在调用 RoleEnvironment.GetConfigurationSettingValue ("MYKEY"时收到 SEHException?

转载 作者:行者123 更新时间:2023-12-03 04:35:36 25 4
gpt4 key购买 nike

我正在尝试像这样调用RoleEnvironment.GetConfigurationSetting("SOMEKEY"):

public partial class AzureBasePage : System.Web.UI.Page
{
protected ChargifyConnect Chargify
{
get {
if (this._chargify == null) {
this._chargify = new ChargifyConnect();
this._chargify.apiKey = RoleEnvironment.GetConfigurationSettingValue("CHARGIFY_API_KEY");
}
return this._chargify;
}
}
private ChargifyConnect _chargify = null;
}

我的 ServiceConfiguration.cscfg key 如下所示:

<Setting name="CHARGIFY_API_KEY" value="AbCdEfGhIjKlMnOp" />

我收到此错误:

Exception Details: System.Runtime.InteropServices.SEHException: External component has thrown an exception.

[SEHException (0x80004005): External component has thrown an exception.] RoleEnvironmentGetConfigurationSettingValueW(UInt16* , UInt16* , UInt32 , UInt32* ) +0 Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetConfigurationSetting(String name, String& ret) +92 Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetConfigurationSettingValue(String configurationSettingName) +67 ChargifyNET.ChargifyAzurePage.get_Chargify() in C:\NetProjects\ChargifyDotNET\Source\Chargify.NET\ChargifyAzurePage.cs:26 Chargify.Azure._Default.Page_Load(Object sender, EventArgs e) in C:\NetProjects\ChargifyDotNET\Source\Chargify.Azure\Default.aspx.vb:8 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

最佳答案

如果您未在开发结构或 Azure 结构中运行,则尝试访问 RoleEnvironment,您将收到 SEHException。我相信您无意中在 asp.net 开发服务器下运行您的网站,这意味着您不在开发结构中(我已经确认这会抛出 SEHException)。换句话说,您要么将网站项目设置为启动项目,要么右键单击它并让它运行。

您必须将云项目本身设置为启动项目,然后该项目将默认显示您的网站在端口 81 上运行。云项目是拥有您的所有角色定义作为其成员的项目。您可以查看浏览器的 URL 栏,轻松判断您是否在 asp.net 开发服务器中运行,因为您将使用某个随机端口号而不是端口 81。

您应该通过检查RoleEnvironment.IsAvailable来确保您正在开发结构或Azure结构中运行。如果这是真的,您就可以安全地调用 RoleEnvironment 中的任何内容。如果它是假的,那么你就没有在结构中运行。

关于c# - 为什么我在调用 RoleEnvironment.GetConfigurationSettingValue ("MYKEY"时收到 SEHException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491344/

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