次のように生成してURI
います(このコードは単純化され、改ざんされています):
Uri baseUri = "http://localhost/MyApp/Account/Login";
Uri fullUri = GetFullUri(baseUri, user);
GetFullUri は次のようになります (これは .NET 2 アセンブリにあります)。
public Uri GetFullUri(Uri baseUri, User user)
{
string token = GetTokenFromUser(user); //Implementation not important.
//Create a new URI based on the base URI, adding a query string.
return new Uri(baseUri, string.Format("?Token={0}", token));
}
.NET 4 アセンブリから呼び出すGetFullUri
と、結果は正しく、fullUri
次のようになります。
http://localhost/MyApp/Account/Login?Token=ABC123
次に、.NET 2 アセンブリから同じ正確なコードを呼び出しましたが、結果は正しくありません。fullUri
次のようになります。
http://localhost/MyApp/Account/?Token=ABC123
.NET 2 の結果で、4 番目の最後のセグメントである "Login" が欠落していることに注意してください。それとどうしたの?