What would be the best (or easiest) way to setup a development environment in order to:
- develop iOS(iphone) application using Xcode in a MAC
- iphone app will be calling .NET web services written in C# (windows laptop)
- the database is MS SQLServer 2008 R2 (windows laptop)
I understand that I could do all this in my MAC if I was using PHP/MySQL but I really need the C#/MS SQL combo.
Thanks in advance.
Ceta
If you don't have access to a dedicated Windows environment for development, I would suggest that you install VMWare Fusion or Parallels on your Mac, and do your Windows development in a VM.
Can you not just deploy the Webservices (on the web?) and just test your API calls remotely?
Alternatively, network the machines so you can access the development copy, or use something like Parallels Desktop to run Windows inside your Mac environment. Related: Visual Studio on a Mac
If you have both machines up and running, XCODE, VS and SQL Server already installed, then I don't see the problem.
You only need to configure the special things in your Windows Machine so its perfectly suited for Web Services development. Skip the steps you may already have done.
1) Install IIS 6 / 7 (depends on your windows version)
2) Install ASP.NET
3) Turn off your firewall for Home network, or configure some permission for allowing inbound traffic to the HTTP/HTTPS ports.
4) Make sure you have an static IP address in your home network, or, make sure your machine name is DNS resolvable from your Mac.
You need IIS because Visual Studio internal web server doesn't allow remote connections.
Now, how can you debug your C# code if the Web Service is running in IIS? two options:
1) (easy) In the solution explorer, right click on your web project, choose properties, chose Web, in the section named "Servers" choose use local IIS WebServer and name your virtual folder. You'll be able to debug easily.
2) (medium) You can just publish your web app to your local IIS, make it run, and then from visual studio using the debug -> attach to process menu attach yourself to the w3wp.exe. The problem is, if you have several application pools, have fun finding your application.
Related
I have no prior experience working in the .NET stack. Not sure if this is a common requirement. I have developed a simple .NET web service which accesses the COM library provided by a label printer SDK to send print jobs to the printer connected to my machine.
I need to distribute the web service to clients so that it can be hosted on their machines locally. Set up should be minimum - something like an installer which will do the needful to deploy the web service locally.
I assume that any windows machine comes with .NET bundled.
I understand that IIS is the windows equivalent of apache-tomcat. Does is it come bundled with all windows machines? If it does, I figure I can write some scripts to deploy the web service to IIS using the ".deploy" file generated by Visual Studio.
Are there any betters way of doing this ?
So my question is :
How do I distribute a web service that should be be hosted and run locally on the client's machine without forcing the user to download and install a web server and deploy the package?
Edit:
So, I gather IIS is not supported by home editions.
I have a system(Server) with windows server 2008 and over 5 system as client systems.
Visual studio 2008 installed on every system (Server and Client).
And i have installed IIS-7 on server.I need to access my asp.net web project from server to client system using visual studio 2008.When i use file system to open that project from my local system it through error:
network BIOS command limit has been reached
Can any one tell me how to access asp.net web project from client system
After installing windows-7 on client system.
This problem is solved.
Now i am able to debug my web project from LAN computers.
I am writing a WCF webservice. I need to access the service from another ( linux ) machine.
On my PC, I can access the url via 'localhost' just fine, however accessing it from another machine ( replacing localhost with the machine's name ) does not work.
I am relatively new to WCF and my guess is I need to configure it to allow requests from other machines, but I do not know how to do this.
Here is the output from netstat if it helps. Thanks!
C:\Users\bb\Desktop>netstat -na | findstr 57566
TCP 127.0.0.1:57566 0.0.0.0:0 LISTENING
How are you hosting your service? IIS or the built-in web server from Visual Studio? If it's the Visual Studio ("Cassini") web server, you cannot access it from other machines.
See this Stack Exchange question, which is similar: https://serverfault.com/questions/82899/can-i-access-cassini-from-a-remote-machine
Microsoft wants you to deploy your application to IIS for remote connections. Cassini (the Visual Studio web server) is purely for development purposes.
Are you running the service using Visual Studio? The ASP.NET Development Server, which Visual Studio uses by default, can only be accessed from localhost. Depending on what you are doing, you may be able to use IIS Express from within Visual Studio. Otherwise you will need to host your service in IIS.
I made a site using VS10 Ultimate [ASP.NET] and when I build & run it runs the severer locally, while I want to test it for security issues via Linux.
How can I run it globally ?
Thank you!
Your development machine probably has IIS installed. Copy the code or the compiled code to the web root of this installation. If you want to put it on another computer, then that will need to have IIS, relevant version of .Net installed.
It would also help if you can setup your local DNS to resolve the name for your computer within the LAN setup so that you can reache the machine using a name rather than the IP.
This will allow you to test the security issues that are client side. For Server side security issues, you will need to create a server in your LAN that is configured similar to the actual server where you would be hosting your site.
You need to set up the site in IIS Server installed in your Windows machine to run it locally
See the links to learn more:
http://www.beansoftware.com/ASP.NET-Tutorials/Set-Up-IIS-ASP.NET.aspx
http://support.microsoft.com/kb/323972
You need an ASP.NET hosting service.
How can I make Web Application project a standalone desktop application with IIS Express and SQL Server Express?
With "standalone" I mean clicking on an exe-file start my application (e.g. start.aspx in my browser). The whole application consists of lots of aspx-files which run in a browser.
NOW: I have my Web Application project running fine when pressing F5 in Visual Studio 2010.
MY AIM: I want to start this project on a local machine just as easy as it is in Visual Studio, but how could I do so?
You're misunderstanding what happens when you press F5 in Visual Studio.
When you press F5, and if you're using the Visual Studio Development Server instead of IIS, that server is started up, and can serve requests for your application that come in on localhost. In any case, Visual Studio next starts your default browser and tells it to browse to your web application. The only application being launched on the desktop is your browser.
When your application is ready for other users to use, you will need to deploy it to a web server. Once it is deployed to the web server, users will be able to open their browser and browse to your application.
There is no simple way to package up a web server, database server, and your web application into a single .exe that a user can double-click.
i recommend you look into this product
http://ultidev.com/products/UWS-Cassini-Pro/Default.aspx
You'll need to use SQL CE, which has a number of limitations, such as the inability to auto-increment identity type columns.
Why would you use IIS for a stand-alone desktop application? A web application is for the web. If you want desktop that look into WinForms of WPF. I doubt you will find any tools to do the conversion for you so you will have to make it a manual process. Just hope you have a well structured web app.
Unless of course, you mean to just access a local web application from your local machine IIS installation? If so, then just set up IIS like you would do on a server, assign yourself a port to the localhost to access the web application and then create a nice desktop shortcut that links to the correct URL