我生成一个URI
如下之间的差异(此代码被简化并且伪造):URI .NET 2和4
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的结果是如何丢失的第四和最后一节,“登陆” ?这是怎么回事?
我怀疑,在.net 4中,uri重载构造函数或在构造函数实现中有更改。 – CodeSpread