我对webservices有一个奇怪的问题。
如下WebMethod
:
public string GenerateUrl(string webserviceId,string webmethodId, string versionId)
{
return @"C:\" + webserviceId + @"\" + webmethodId + @"\Versions\V" + versionId + ".txt";
}
如果我使用以下参数调用它:
GenerateUrl("ws","wm","1");
它返回C:\\ Versions \ V1.txt
但如果我传递versionId
除"1"
之外的任何其他值
GenerateUrl("ws","wm","2");
它正常工作并返回C:\ ws \ wm \ Versions \ V2.txt!
答案 0 :(得分:0)
为了测试案例,我使用控制台应用程序作为测试项目尝试了以下操作:
public static string GenerateUrl(string webserviceId, string webmethodId, string versionId)
{
return @"C:\" + webserviceId + @"\" + webmethodId + @"\Versions\V" + versionId + ".txt";
}
并将其称为如下:
Console.WriteLine(GenerateUrl("ws", "wm", "1"));
Console.WriteLine(GenerateUrl("ws", "wm", "2"));
Console.WriteLine(GenerateUrl("ws", "wm", "3"));
正如所料,结果(从控制台输出中复制)是:
C:\ ws \ wm \ Versions \ V1.txt
C:\ WS \ WM \版本\ V2.txt
C:\ WS \ WM \版本\ V3.txt
在这种情况下,我最后的想法是方法GenerateUrl()
工作正常,它的调用方式一定存在问题。为了看到我建议你在每次调用方法时放置一个断点并检查参数(观察)webserviceId
和webmethodId
。您可能会将值视为string.Empty
或""
。在执行return
语句之前,您可以操作 versionId
参数的值,将其设置为1
并查看它是否会中断