How to convert an existing ASP.NET Web API to Azure Mobile Service? - asp.net-web-api

Recently announced at Microsoft Build is the ability to convert an existing ASP.NET Web API to an Azure Mobile Service. I was curious as to if anyone has successfully done this yet, and the steps needed to do so.
Things I've tried thus far:
Added the Azure Mobile Service .NET Backend & Azure Mobile Service -
Entity Framework Nuget Packages to my existing ASP.NET Web API
project.
Resolved an issue with OWIN and AMS(ZUMO) conflicting Startup.cs assemblies.
Ensured the ASP.NET Web API compiles locally, and published as an Azure Mobile Service.
However whenever publishing, it seems I only get a runtime error on the server.
Here was the best example of potentially doing this: http://channel9.msdn.com/Events/Build/2014/3-623
Secondly I've looked a bit into just running the OWIN pipeline via: http://www.strathweb.com/2014/02/running-owin-pipeline-new-net-azure-mobile-services/
I know that this is in a preview mode, but figured some document trail would help!

Can you try adding your existing WebAPI assets to Mobile Services project you create from VS? This will make sure all the right things are wired up. Also, check the Logs tab in the portal for any clues.

This should help..
http://blogs.msdn.com/b/azuremobile/archive/2014/04/10/creating-an-azure-mobile-services-net-backend-from-scratch.aspx
Thanks
Supreet

Related

Web Forms Project Consuming Web Api 2 Project in debug mode

In my solution, I am creating new Web Api 2 project to migrate my services in another Web Forms project.
My question is:
Is there any way (best way) to use my new Web Api project in my Web Forms project when I am debugging?
Actually I have to start my Web Api (without debbuging), after, I am able start my Web forms and use my web api. It is unproductive.
I have tried to make this works with Pre-build event, but i do not know if I did something wrong.
PS.: I do not need the both projects running in debug mode.

How to access a WCF service from another solution?

Right now I have a utility built in Silverlight which uses a WCF service, and both of these projects are in the same solution. Due to company standards, I have to put the WCF service into its own solution. How do I access it from my Silverlight project from a seperate solution? Everything I've found talks about how to access a WCF service from the same solution. Any help is appreciated!
Thanks
To access on a WCF service from another solution, you have to :
On your actual project, right click on the WCF Service > View in browser (I suppose the WCF Service is hosted on IIS).
Copy the URL (it will be a URL like http://localhost:12345/MyWCFService.svc)
On your new project, right click on the project > Add Service Reference
Paste the URL
Hope it helps

Can you build an ASP.NET Web API on top of OWIN?

Well the title basically sums it up, I'm wondering if I can create an OWIN pipeline to my ASP.NET Web API. I want to do this so I can apply a base security layer that I can apply to all of my API service hosted on my service server. New to OWIN, love the idea
Yes. You can start with this http://nuget.org/packages/Microsoft.AspNet.WebApi.Owin/0.21.0-pre and then you will need an another package depending on what host you choose.
You will find below link helpful. It using Katana, an OWIN implementation for Microsoft hosts and the Web API framework.
http://www.strathweb.com/2012/12/running-aspnet-web-api-with-owin-and-katana/
Yes.
Also: If self-hosting Web API 2 using OWIN in a windows service, you can check out this example on GitHub: https://github.com/danesparza/OWIN-WebAPI-Service
It walks you through creating the service, adding OWIN using NuGet, and using attribute based routing in Web API 2.

UNKNOWN_EXCEPTION: Destination URL not reset. The URL returned from login must be set in the Salesforce

In windows Phone application, i added Enterprise.wsdl(obtained from my salesforce login id) as reference. I'm able to authenticate using Loginresult. But while using Create the above expense are thrown.
Using SoapHeader class in Web application inherited System.Web.Services.Protocols.SoapHeader so referred the Server url and id.
It is not possible to use web in Windows phone. Plz help if you know any samples to solve it
Part of the results for the login call are a serverUrl, this url should be used to make all subsequent requests, typically in .NET you just set the .Url property of your stub to the provided value. While there are no win-phone specific examples, there are lots of .NET examples in the docs
My experience has been that you can't import the Partner or Enterprise WSDLs to a Windows Phone 7 project.
With Windows Phone 7 projects you can add a Service Reference (for WCF), but not a Web Reference.
Whenever I've imported the Salesforce WSDLs to a standard .NET project I've needed to use a Web Reference to get the APIs working correctly. Something about how WCF doesn't support the Salesforce WSDL defined SOAP headers that are needed to specify the session details.
I found using the REST API and JSON.NET to be the easiest with Windows Phone 7 projects.
That said, my phone app only works with Developer, Enterprise and Unlimited Salesforce editions. Professional and Group editions get the API_DISABLED_FOR_ORG error. I think I need to get the app certified to work with those editions.

Exception in brand new Silverlight project

I am getting the following exception message when I try to run my newly created Silverlight app:
An error occurred while trying to make a request to URI 'http://localhost:8732/Design_Time_Addresses/IsAProgrammer.Service/Service1/'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details.
This is what I have done. I started with a silverlight app. That created 2 projects. My actual silverlight app and one called MySolutionName.web (not sure what that does except host my silverlight page).
I then made a WCF project so I could have some services for my Silverlight app to consume. I made my services and then added a Service Reference to the silverlight project. I then changed the binding to be basicHttpBinding for my services. (I subsequently refreshed my Service Resource reference in the Silverlight app.)
I reading about this error, I have found that I need a clientaccesspolicy.xml and a CrossDomain.xml file to fix it. I found a generic copy of each of these and added them to both my MySolutionName.Web project and my WCF project.
Any other ideas would be great.
I don't do a lot of WCF myself but it sounds like you've created yourself 2 web applications, one where the Silveright app is host and one service the WCF. Was this intentional?
At a guess I think you should have just added a WCF Service item to the existing host web application.
When u r playing with wcf sevice for the first time with silverlight or wpf these errors are bound to come :). The below link will help you to put your crossdomain policy in right place.
Where to place ClientAccessPolicy.xml for Local WCF Service?

Resources