SSI通过c#脚本中的webclient下载http文件。非法字符错误,因为源URL有cgi?在小路上

SSI通过c#脚本中的webclient下载http文件。非法字符错误,因为源URL有cgi?在小路上,c#,ssis,webclient,C#,Ssis,Webclient,我有一个正在运行的SSIS脚本,它使用一个C#脚本运行一个webclient,从XE.com下载一个货币文件。不幸的是,XE提供的路径有一个cgi调用,因此其中有一个问号,这是一个非法字符,因此我在运行脚本时收到以下消息: System.ArgumentException:路径中存在非法字符 我使用的脚本是根据以下说明改编的: 有没有办法用ASCII码或其他什么来代替问号 非常感谢。谢谢你的回复,本。这是一个SSIS脚本任务,代码来自上述指南。最后,我用ASCII码?替换了问号哪个成功了

我有一个正在运行的SSIS脚本,它使用一个C#脚本运行一个webclient,从XE.com下载一个货币文件。不幸的是,XE提供的路径有一个cgi调用,因此其中有一个问号,这是一个非法字符,因此我在运行脚本时收到以下消息:

System.ArgumentException:路径中存在非法字符

我使用的脚本是根据以下说明改编的:

有没有办法用ASCII码或其他什么来代替问号


非常感谢。谢谢你的回复,本。这是一个SSIS脚本任务,代码来自上述指南。最后,我用ASCII码
?替换了问号哪个成功了。
对于未来的读者,相关代码:

public void Main()
{
    Variables varCollection = null;

    Dts.VariableDispenser.LockForRead("User::RemoteUri");
    Dts.VariableDispenser.LockForRead("User::LocalFolder");
    Dts.VariableDispenser.GetVariables(ref varCollection);

    System.Net.WebClient myWebClient = new System.Net.WebClient();
    string webResource = varCollection["User::RemoteUri"].Value.ToString();
    string fileName = varCollection["User::LocalFolder"].Value.ToString() + webResource.Substring(webResource.LastIndexOf('/') + 1);
    myWebClient.DownloadFile(webResource, fileName);

    Dts.TaskResult = (int)ScriptResults.Success;
}

我复制这个有困难。我可以使用.NET4.5.x的WebClient从包含带问号字符串的URI下载,而不会出现问题。您使用的是什么版本的.Net?你能从你的脚本任务中发布代码吗?谢谢,@Loic!我很困惑:“我最后用?来代替问号。”“?”是问号字符!:-)这个字符原来不是“?”吗?嗨,本,这个网站上有一个问号——我用ASCII码来解决这个问题。修正了我的回答。谢谢!您的原始URL是否类似于或(带有两个问号)?