My Blog

Creare un web service in ASP.NET e pubblicarlo su IIS

by lupok on lunedì 18 novembre 2013 12:05

1) Creare un nuovo progetto Visual Studio del tipo ASP.NET Web Service Application: 

 

 

Non modifichiamo la classe creata automaticamente da visual studio in quanto scopo del presente documento e' solo quello di mostrare come si crea un servizio ASP.NET e lo si pubblica su IIS:

 

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
 
namespace TestASPNETWebService
{
   /// 
   /// Summary description for Service1
   /// 
   [WebService(Namespace = "http://tempuri.org/")]
   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
   [System.ComponentModel.ToolboxItem(false)]
   public class Service1 : System.Web.Services.WebService
   {
 
      [WebMethod]
      public string HelloWorld()
      {
         return "Hello World";
      }
   }
}

2) Tasto destro sul progetto dal Solution Explorer e quindi click su Publish...  

 

 

Impostiamo i parametri necessari per la pubblicazione su IIS, se vogliamo pubblicare il servizio in una specifica directory del percorso radice utilizzato da IIS ("C:\inetpub\wwwroot") occorre crearla prima della pubblicazione. 

 Ad esempio noi pubblichiamo in "C:\inetpub\wwwroot\TestASPNETWebService" 

 

3) Una volta pubblicato in servizio dobbiamo eseguire qualche operazione su IIS, quindi apriamo IIS Manager da Control Panel -> Administrative Tools per convertire ad applicazione il servizio pubblicato su IIS: 

 

 

 

Occorre prestare particolare attenzione che tipo di framework .NET necessario al servizio coincida con quello assegnato di default da IIS, nel caso sia necessario modifcarlo aprire le impostazione avanzate per il servizio e quindi selezionare l'Application Pool corretto: 

 

 

4) a questo punto possiamo utilizzare il servizio:

 

 

 


Se vogliamo modificare l'intestazione http per inserire contenuti differenti, come ad esempio una pagine html:

 

[WebMethod]
public void HelloPage()
{
   Context.Response.Clear();
   Context.Response.ContentType = "text/html";
 
   String html = "<html xmlns=\"http:>Ciao Mondo

Ciao mondo

"</html xmlns=\"http:>
;    Context.Response.Write(html); }

Blogs Parent Separator My Blog
Author
lupok

My Blog

Tags