Tôi đang cố gắng xác thực đối với API Trò chuyện nhóm bằng Trình giả lập Windows Phone 7. Tuy nhiên, tôi không nhận được bất kỳ thành công nào. Tôi tiếp tục nhận được "Máy chủ từ xa trả về lỗi: NotFound". Tôi thậm chí đã cố gắng "dumbing xuống" mã của tôi và chỉ cần cố gắng một trang web thẳng, ví dụ như. Google nhưng vẫn nhận được kết quả tương tự.HttpWebRequest trả về "Máy chủ từ xa đã trả về lỗi: NotFound" trên Windows Phone 7
Tôi có đoạn mã sau:
string url = "http://www.google.com";
HttpWebRequest client= WebRequest.CreateHttp(new Uri(url)) as HttpWebRequest;
client.AllowReadStreamBuffering = true;
// Call and handle the response.
client.BeginGetResponse(
(asResult) =>
{
Dispatcher.BeginInvoke(
() =>
{
try
{
var response = client.EndGetResponse(asResult);
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
string responseString = reader.ReadToEnd();
}
catch (WebException failure)
{
throw failure;
}
});
},
null
);
Thực hiện luôn kết thúc trong phần bắt. Tuy nhiên, khi xem Fiddler2, dường như không có bất kỳ lưu lượng truy cập nào tới google.com. Vì vậy, yêu cầu dường như không được thực hiện.
Tôi đã gặp sự cố tương tự ở đây Retrieve XML from https using WebClient/HttpWebRequest - WP7, nhưng tôi đang sử dụng cổng chuẩn nên không chắc chắn điều này có liên quan hay không. Tôi cũng đã thử đơn giản hóa mã theo bài đăng, nhưng không thành công.
Điều thú vị là, tùy chọn có khả năng nhất có vẻ là vì tôi không thể có khả năng mạng được xác định trong tập tin AppManifestWM.xaml tôi theo HttpWebRequest Breaks On WP7, nhưng tập tin AppManifestWM.xaml của tôi dường như có này định nghĩa:
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0">
<App xmlns="" ProductID="{ac5b5d62-573c-4134-b290-0ad4f678ad7f}" Title="xxx.WindowsPhone7.Client" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="xxx.WindowsPhone7.Client author" Description="Sample description" Publisher="xxx.WindowsPhone7.Client publisher">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_NETWORKING" />
<Capability Name="ID_CAP_LOCATION" />
<Capability Name="ID_CAP_SENSORS" />
<Capability Name="ID_CAP_MICROPHONE" />
<Capability Name="ID_CAP_MEDIALIB" />
<Capability Name="ID_CAP_GAMERSERVICES" />
<Capability Name="ID_CAP_PHONEDIALER" />
<Capability Name="ID_CAP_PUSH_NOTIFICATION" />
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
</Capabilities>
<Tasks>
<DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
</Tasks>
<Tokens>
<PrimaryToken TokenID="xxx.WindowsPhone7.ClientToken" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title>xxx.WindowsPhone7.Client</Title>
</TemplateType5>
</PrimaryToken>
</Tokens>
</App>
</Deployment>
Vì vậy, tôi đang thua lỗ. Yêu cầu này dường như không thực sự xảy ra, khiến tôi nghĩ rằng điều gì đó đang ngăn nó.
Cập nhật:
Không có gì thay đổi, nhưng nghĩ stack trace này có thể heko:
System.Net.WebException was unhandled Message=The remote server returned an error: NotFound. StackTrace: at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at xxx.WindowsPhone7.Client.Views.AddHuddleUserPage.<>c__DisplayClass2.<>c__DisplayClass4.b__1() at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark) at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at System.Delegate.DynamicInvokeOne(Object[] args) at System.MulticastDelegate.DynamicInvokeImpl(Object[] args) at System.Delegate.DynamicInvoke(Object[] args) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority) at System.Windows.Threading.Dispatcher.OnInvoke(Object context) at System.Windows.Hosting.CallbackCookie.Invoke(Object[] args) at System.Windows.Hosting.DelegateWrapper.InternalInvoke(Object[] args) at System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle, Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)
Tình trạng là System.Net.WebExceptionStatus.UnknownError
Cảm ơn thời gian của bạn .
Cảm ơn, Mick. Tôi đã thử IE "applet" trong hệ điều hành, hoạt động. Cũng đã thêm một điều khiển WebBrowser vào cùng một trang, cũng hoạt động tốt. Tôi không sử dụng một proxy như xa như tôi biết. –