我有以下代码在我的WP7应用程序中创建HttpWebRequest。我试图从单元测试应用程序调用此代码,该应用程序类型为“Silverlight单元测试应用程序”,目标框架设置为Silverlight 5.我从Jeff Wilcox的博客中抓取了WP7.5 Mango Beta测试程序集:
public void SomeFunction()
{
Uri uri = new Uri("http://www.google.com");
HttpWebRequest request = HttpWebRequest.CreateHttp(uri);
request.Method = "POST";
...
}
在上面的代码中,创建请求的行会抛出NullReferenceException
。堆栈跟踪不提供任何有价值的东西。
这是因为我正在使用SL测试应用程序吗?
答案 0 :(得分:2)
Windows Phone 7.5使用Silveright 4,而不是5,但它与桌面版本不兼容(必须从WP模拟器运行单元测试)。
创建WP测试项目:
Loaded
事件处理程序中的MainPage:_
var testPage = UnitTestSystem.CreateTestPage() as IMobileTestPage;
BackKeyPress += (x, xe) => xe.Cancel = testPage.NavigateBack();
(Application.Current.RootVisual as PhoneApplicationFrame).Content = testPage;
关于主题,可能能够通过重新注册正确的处理程序来解决问题:
WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);
但是,我建议你重新开始。