gpt4 book ai didi

c# - 缺少 ClickOnce Url 参数

转载 作者:行者123 更新时间:2023-11-30 12:28:30 28 4
gpt4 key购买 nike

我部署了一个 ClickOnce 应用程序,因此可以使用指向 .application 文件的 URL 来调用它。

我正在尝试使用 queryString 类型参数 (?arg1=foo&arg2=bar) 传递参数。

我无法完成这项工作。尝试了各种各样的事情,但仍然没有运气在客户端应用程序端检索它们。

这是我到目前为止尝试过的:

 AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0]

还有我认为的旧方法

 ApplicationDeployment.CurrentDeployment.ActivationUri

并且没有人允许我获取参数(大部分情况下它只是返回 null)

如有任何帮助,我们将不胜感激。

谢谢...!

最佳答案

试试这个功能:

        /// <summary>
/// parse name=value pairs from parameter string
/// </summary>
/// <returns></returns>
private static string[] GetQueryStringParameters()
{
string query = string.Empty;
if (ApplicationDeployment.IsNetworkDeployed)
{
if (ApplicationDeployment.CurrentDeployment.ActivationUri != null)
query = HttpUtility.UrlDecode(
ApplicationDeployment.CurrentDeployment.ActivationUri.Query);
}
else
{
var _params = Environment.GetCommandLineArgs();
if (_params.Length > 1)
query = HttpUtility.UrlDecode(_params[1]);
}

string[] arguments = null;
if (!string.IsNullOrWhiteSpace(query) && query.StartsWith("?"))
{
arguments = query.Substring(1).Split('&');
}

if (!string.IsNullOrWhiteSpace(query) && (arguments == null || arguments.Length == 0))
throw new Exception(
string.Format(
@"exception while decoding params: ""{0}"" ", query));

return arguments;
}


/// <summary>
/// decode "name"="value" pairs into hashtable
/// </summary>
/// <returns></returns>
private static Hashtable _decodeParams(ICollection<string> pParams)
{
var result = new Hashtable(pParams.Count);
foreach (var t in pParams)
{
string[] sParamAndValue = t.Split('=');
if (sParamAndValue.Length > 1)
{
result.Add(sParamAndValue[0], sParamAndValue[1]);
}
}
return result;
}

用法:

var allParams = new Hashtable();
var stringParams = GetQueryStringParameters();
if (stringParams != null)
allParams = _decodeParams(stringParams);

在部署应用程序之前,您还应该启用选项Allow URL parameters to be passed to application

关于c# - 缺少 ClickOnce Url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472148/

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