Recording PCM on Windows Phone 8 using AudioVideoCaptureDevice - c#

The following code correctly records audio recorded from my Windows Phone 8 device to isolated storage using the AMR and AAC formats. However, when I try to record the PCM format the app crashes with the error:
Value does not fall within the expected range.
Windows.Phone.Media.Capture.AudioVideoCaptureDevice.StartRecordingToStreamAsync(IRandomAccessStream stream)
at WP8.Classes.AudioCaptureController.<StartRecordingAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at WP8.ViewModels.CameraPageViewModel.<capture>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at WP8.ViewModels.CameraPageViewModel.<TakePictureAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__0(Object state)
The code I have working is as follows:
private AudioVideoCaptureDevice mic;
private IRandomAccessStream sst;
private string path;
public async Task MicStartAsync()
{
mic = await AudioVideoCaptureDevice.OpenForAudioOnlyAsync();
mic.AudioEncodingFormat = CameraCaptureAudioFormat.Pcm;
}
public async Task StartRecordingAsync()
{
IsolatedStorageAccess iso = new IsolatedStorageAccess();
sst = await iso.SetUpFileStreamForSavingAudioAsync("123.pcm");
await mic.StartRecordingToStreamAsync(sst);
path = iso.Path;
}
public async Task StopRecordingAsync()
{
await mic.StopRecordingAsync();
sst.AsStream().Dispose();
new MediaPlayerLauncher()
{
Media = new Uri(path, UriKind.Relative)
}.Show();
}
}
}
changing the format to anything other than pcm works!
UPDATE: For some reason it now seems to avoid crashing but this is shown in the output:
A first chance exception of type 'System.ArgumentException' occurred in WP8.DLL
An exception of type 'System.ArgumentException' occurred in WP8.DLL and wasn't handled before a managed/native boundary
(WP8 is the name of my dll) The code carries on as normal after this and only crashes when I go to stop the recording where it says the recording never started and the AudioVideoCaptureDevice is in an incorrect state
I have also tried using var AudioVideoCaptureDevice.SupportedAudioEncodingFormats; to check that Pcm is available which it is

you can record from the mic using XNA framework (it seems to that microsoft have an error in there framework when writing data to the file!)
Take a look at this code Microphone Sample and this article for saving data in a wav format Saving Microphone stream to wave format in Windows Phone from Nokia developer portal!

Related

Microsoft Graph API timeout exception

I'm using Microsoft Graph API library (C#) and wondering if anyone has experienced this:
Many of my graph API calls time out from time to time.
This can happen to any API call, from getting current user profile to getting sharepoint documents, and so on.
I've tried updating Microsoft Graph API and dependent Nuget packages to the latest versions, but it doesn't help.
To clarify, this application is a Windows console application. On Azure side, it is registered as a native application. As a test application, it is a single-threaded application. No concurrency, race conditions involved. Code logic is as simple as
User logs in.
The program makes a Graph API call (shown in eg.1) to get user's profile and this API call times out.
eg 1.
var currentUser = graphClient.Me.Request().GetAsync().Result;
eg 2.
var site = _graphClient.Sites[SharePointSiteId].Request().GetAsync().Result;
The symptom is after a minute or two, it throws an AggregationException(because of TPL) which includes a TimeOutException.
No unauthorized exception.
I want to know what could be the possible cause and how I can avoid that.
UPDATE:
Here's a screenshot when the exception happens.
UPDATE 2:
I've tried replacing all the API calls to use "await" directly to wait for results. because this example code is a console application. I put
static void Main(string[] args)
{
// using Stephen Cleary's nuget package: Nito.AsyncEx.Tasks
MainImp().WaitAndUnwrapException();
}
static async Task MainImp()
{
// ...
// Graph API calls
This exception is still thrown from this simple API call:
var currentUser = await graphClient.Me.Request().GetAsync();
An unhandled exception of type 'Microsoft.Graph.ServiceException' occurred in mscorlib.dll
Additional information: Code: timeout
Here's the full call stack
at Microsoft.Graph.HttpProvider.d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task) at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at Microsoft.Graph.HttpProvider.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task) at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at
Microsoft.Graph.BaseRequest.d__35.MoveNext()
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task) at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at Microsoft.Graph.BaseRequest.d__311.MoveNext()
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task) at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at Microsoft.Graph.UserRequest.<GetAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task) at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at SharePointConsoleApp.Program.d__14.MoveNext() in
D:\TestProjects\SharePointConsoleApp\Program.cs:line 133
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task) at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at
Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task
task) at SharePointConsoleApp.Program.Main(String[] args) in
D:\TestProjects\SharePointConsoleApp\Program.cs:line 50 at
System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[]
args) at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args) at
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext
executionContext, ContextCallback callback, Object state, Boolean
preserveSyncCtx) at
System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state, Boolean
preserveSyncCtx) at
System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state) at
System.Threading.ThreadHelper.ThreadStart()
First of all if it's an application with user interaction you should never do blocking (.Wait() or .Result) calls on the main thread, this will lock-up your application for further user interaction.
So you need to start by using async code, this is a sample of an async Button_Click handler. It will give you a warning, but this seems to be one of the use-cases of an async void.
private async void Button_Click(object sender, RoutedEventArgs
{
var currentUser = await graphClient.Me.Request().GetAsync();
// Presumably do something with the response
labelUser.Text = currentUser.DisplayName;
}
Few days ago I found a nice video about common async/await mistakes
You seem to be talking about a console app running on windows.
As of C# 7.1 you can also have an public static Task Main(string[] args) as starting point. Then your application would look like this:
public static async Task Main(string[] args) {
// Create the client here.....
var graphClient = .....;
// Await every call to the graphclient
var currentUser = await graphClient.Me.Request().GetAsync();
// Do something with the user
}
Maybe the reponse(payload) you get is very huge that while it processes the request times out? I had this issue frequently a while back while I was fiddling with graph api so i used pagination to limit the size/quantity of items sent back by it.
I've just experienced this and the cause was a corporate firewall was blocking traffic to graph.microsoft.com:443
This can be seen in wireshark as [TCP Retransmission]s after the initial request.
Unblocking this host resolved this issue for me.

Onedrive API error after MS did OneDrive update last night

The code:
var stream=await this.oneDriveClient.Drive.Items[itemid].Content.Request().GetAsync();
Has been running fine for weeks but stopped working after the Onedrive update last night.
It is throwing exception 'Microsoft.Graph.ServiceException' when we try to download files using the API, file uploads still work. We are also getting the "ItemNotFound" error code.
Below is the exception message and stack trace.
ex.Message: Exception of type 'Microsoft.Graph.ServiceException' was thrown.
ex.StackTrace:
at Microsoft.Graph.HttpProvider.<SendAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at Microsoft.Graph.BaseRequest.<SendRequestAsync>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at Microsoft.Graph.BaseRequest.<SendStreamRequestAsync>d__33.MoveNext()
-- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at TMSPro.Shared_Objects.ucOneDriveBrowser.<btnDownload_Click>d__5f.MoveNext() in c:\Working\TMSPro_VS2012\TMSPro\Shared_Objects\ucOneDriveBrowser.cs:line 1083
The issue is with Authentication. This code seems to fix it:
var adalAuthProvider = new AdalAuthenticationProvider(
this.AadClientId,
this.AadReturnUrl);
this.oneDriveClient = new OneDriveClient(this.AadTargetUrl + "/_api/v2.0", adalAuthProvider, new HttpProvider(new HttpClientHandler { AllowAutoRedirect = true }, true));
authTask = adalAuthProvider.AuthenticateUserAsync(this.AadTargetUrl);
try
{
await authTask;
}
I'm experiencing exactly the same issue. When checking Fiddler, it seems that the response that is returned is a web page with the message: "Sorry something went wrong. Sorry you cannot access this document. ... Correlation ID: 072abf9d-7097-3000-a357-3f21c379dac7 ..."
The Microsoft.Graph.ServiceException has an error code: ItemNotFound.
This was working for ages, and now suddenly stopped working.
This was an issue in the OneDrive for Business service that has since been resolved. We apologize for the inconvenience, and have taken steps to minimize the chances of similar failures in the future.

NullReferenceException when polling Microsoft.VisualStudio.Services.Client for builds

I'm trying to implement a simple polling service that queries our TFS instance for build results (eventually this will be shown on a build monitor in the office). Following the examples here, I've come up with the following attempt:
var uri = new Uri("http://tfs:8080/tfs/defaultcollection");
var connection = new VssConnection(uri, new VssClientCredentials());
var client = connection.GetClient<BuildHttpClient>();
var builds = await client.GetBuildsAsync(
project: "OurProject",
maxBuildsPerDefinition: 1,
type: DefinitionType.Build);
but the last statement throws a NullReferenceException somewhere deep in the client library (full stack trace at the bottom).
I've tried the following, and it works, but of course it doesn't get me the information I'm looking for :)
var client = connection.GetClient<WorkItemTrackingHttpClient>();
var workItems = await client.GetWorkItemsAsync(ids: new List<int> { 7000, 7005});
Am I fundamentally misunderstanding something about how to query for builds? How do I avoid this exception?
Update: It's not just me!
I just discovered that this error isn't generated (only) on the client side; it's on the server side (too)! A GET request to the following url:
http://tfs:8080/tfs/defaultCollection/OurProject/_apis/build/builds?api-version=2.0&maxBuildsPerDefinition=1&type=build
yields a 500 Internal Server Error response with the following content:
{
"$id": "1",
"innerException": null,
"message": "Object reference not set to an instance of an object.",
"typeName": "System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"typeKey": "NullReferenceException",
"errorCode": 0,
"eventId": 0
}
Given this, how should I troubleshoot? What should I ask/tell the ops people who are running our TFS server? What are we looking for?
Stack trace for the (client-side) exception:
Unhandled Exception: System.AggregateException: One or more errors occurred.
---> Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException: Object reference not set to an instance of an object.
---> System.NullReferenceException: Object reference not set to an instance of an object.
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponse(HttpResponseMessage response)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync>d__49.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__47`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync>d__53`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__52`1.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at ConsoleApplication1.Program.Work() in c:\users\tly01\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs:line 32
at ConsoleApplication1.Program.Main(String[] args) in c:\users\tly01\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs:line 20
I found the error. Short answer, RTFM :)
It turns out that the maxBuildsPerDefinition parameter is only valid if definitions is also specified. If only the former is given, the server returns 500.
(You could argue that 401 Bad Request would have been a better response, but at least now I know what to do about it.)
My workaround was to do the filtering on the client side instead; I get all builds of all projects, then group by definition and select the latest one:
var builds = await client
.GetBuildsAsync(
project: "OurProject",
type: DefinitionType.Build).Result
.GroupBy(build => build.Definition.Id)
.Select(g => g
.OrderByDescending(build.FinishTime ?? build.StartTime ?? DateTime.MinValue)
.First());

Microsoft Band exception: 0xA0D4000A

I recently started a Microsoft Band application for Windows Phone 8.1.
The application basically uses UV sensors. But the problem here is not the UV, rather just sending the notification.
The code that sends the notification to the Band looks like (And where it goes to the exception):
await bandClient.NotificationManager.SendMessageAsync(tileGuid, "Title", "Body", DateTimeOffset.Now, MessageFlags.ShowDialog);
The full exception is:
(Exception parameter is below this question)
Handled = false
"Device status code: 0xA0D4000A received"
It is thrown from file App.g.i.cs:
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
I searched the web for this exception, but no result.
Weird part is, that actually at one point this code worked and sent the notification.
It has also sent some exception about "Transport" and "Stream" something, but I cannot re-product those exceptions again right now.
I have done:
Factory reset the Band and reconnect (Unregister and stuff also).
Restart the phone and try other phones.
Moved the notification to be thrown later or earlier in code.
Does anyone happen to have any ideas or such, what could be done and what could be wrong
Exception parameter:
+ Exception {Microsoft.Band.BandOperationException: Device status code: 0xA0D4000A received.
at Microsoft.Band.BandClient.CheckStatus(CargoStatus status, CommandStatusHandling statusHandling)
at Microsoft.Band.BandClient.SendNotification[T](UInt16 notificationId, Guid& tileId, T& notificationInfo, PooledBuffer payload)
at Microsoft.Band.BandClient.SendMessage(Guid& tileId, String title, String body, DateTimeOffset timestamp, MessageFlags flags, CancellationToken token)
at Microsoft.Band.BandClient.<>c__DisplayClass11.<SendMessageAsync>b__10()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Uvicorn.PivotPage.<ThrowNotification>d__26.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__3(Object state)
at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()} System.Exception {Microsoft.Band.BandOperationException}
Make sure to verify that the Tile with the GUID passed to the SendMessageAsync() method has first been added to the Band (for example, after a factory reset).
Are you able to send a notification to the band not going through the tile? Just a vibrate notification? Those do not require the tile. I would like to rule out the tile as the issue.

MobileServiceInvalidOperationException When Trying To Retrieve Data From Azure

This is the method i am using.
try
{
List<Patient> pList = await App.MobileService.GetTable<Patient>().Where(
patient => patient.id == 1).ToListAsync();
foreach (Patient p in pList)
{
System.Diagnostics.Debug.WriteLine("{0}, {1}", p.id, p.first_name);
}
}
catch (Exception err)
{
System.Diagnostics.Debug.WriteLine("ERROR! : {0}", err.Message);
}
Here's the Patient entity.
class Patient
{
public int id { get; set; }
public string first_name { get; set; }
public string last_name { get; set; }
public string middle_name { get; set; }
public string nirc { get; set; }
public int bed_id { get; set; }
}
Here's the error i am getting.
An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'System.Net.WebException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.DLL and wasn't handled before a managed/native boundary
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in Microsoft.Azure.Zumo.WindowsPhone8.Managed.DLL and wasn't handled before a managed/native boundary
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
A first chance exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
When i wrap my method within a TryCatch, i get this message
Error : The request could not be completed. ()
Here's the stack error message
at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.CreateMobileServiceException(String errorMessage, IServiceFilterRequest request, IServiceFilterResponse response)
at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.ThrowInvalidResponse(IServiceFilterRequest request, IServiceFilterResponse response, JToken body)
at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.<RequestAsync>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.WindowsAzure.MobileServices.MobileServiceTable.<SendReadAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.WindowsAzure.MobileServices.MobileServiceTable`1.<EvaluateQueryAsync>d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.WindowsAzure.MobileServices.MobileServiceTableQuery`1.<ToListAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PhoneApp1.MainPage.<populate>d__0.MoveNext()
A few points to note.
Permission is set to Anybody with the Application Key
I've added reference to Windows Azure Mobile Services Managed Client
I've already inserted this code within App.XAML.CS. using Microsoft.WindowsAzure.MobileServices;
I've already placed this piece of code acquired from this website within App.XAML.CS.
public static MobileServiceClient MobileService = new MobileServiceClient( AppUrl, AppKey );
Why am i unable to connect to my database? I've tried running these codes on a Windows Store Application and it worked. Previously i've done the exact same thing and it worked as well.
This link saved me.
Apparently, all i had to do is to change the service address from https to http. So instead of this,
public static MobileServiceClient MobileService = new MobileServiceClient(
"https://www.example.azure-mobile.net/",
"fjkdslajkfdlsref31321fgdsat34ajklfdslajfkldsa"
);
Change it to
public static MobileServiceClient MobileService = new MobileServiceClient(
"http://www.example.azure-mobile.net/",
"fjkdslajkfdlsref31321fgdsat34ajklfdslajfkldsa"
);
Problem solved.
Check the date / time on your computer or the device. In my case I had powered on a dev phone that had been off for some time and the date / time was completely wrong. While changing the endpoint from HTTPS to HTTP does work around the issue, for me the proper solution was to keep HTTPS and fix the date / time on the device.
I solved this problem in my Android devices. You will need kill your app instance, change the system date/time to current and reopen the app.
Thanks Nathanial Woolls!!!
I can't comment because of my low reputation, I'm experiencing the same problem, but it's inconsistent.
If I try to use the registration page on my app that hits an Azure Mobile Service, sometimes it times out with the same error ("The request could not be completed. ()"), then if I try again immediately it works fine.
I'm using an actual Windows Phone Device and it's connected using Wi-Fi provided by my iPhone's hotspot which is actually 4G so there's definitely not a connection issue.
I read other articles that said there's no point trying to check if an internet connection is available, just try and send the data and deal with any issues. I deal with the issue but the issue shouldn't be happening.
Did you experience any more problems?
I've tried using https and http for the MobileService connection, doesn't seem to make any difference.
In case anyone else runs into this, I experienced the same issue when I simply had simply passed a URL with an incorrect subdomain to MobileServiceClient.
For instance, something like this:
public static MobileServiceClient MobileService = new MobileServiceClient(
"http://www.example.azure-mobile.net/",
"fjkdslajkfdlsref31321fgdsat34ajklfdslajfkldsa"
);
Make sure that also this is turned off.

Categories