Salve, ho un problema al quanto strano, ho realizzato una pagina che tramite lo ScriptManager si collega ad un web service e questa mi funziona. Volevo creare la stessa cosa con Visual Studio 2008 e come WebAppication invece che come sito web.
Quindi creo una nuova Applicazione Web in visual studio
Clicco sul nome del progetto col destro, scelgo Add > New Item e scelgo WebService, e VS2008 mi crea il codice (Ho solo cambiato il nome della funzione)
codice:
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class ProvaWS
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
End Class
nella pagina Default.aspx inserisco lo scriptmanager e la funzione pageLoad(), e al suo interno richiamo il webservice
codice:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="ProvaWebService._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
function pageLoad() {
alert(ProvaWS.HelloWorld());
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/ProvaWS.asmx" />
</Services>
</asp:ScriptManager>
</div>
</form>
</body>
</html>
Eseguo il progetto ma niente da fare, il web service non viene richiamato.
Dove sbaglio?
La stessa cosa creata sempre con Visual studio 2008 come Sito Web e non come applicazione web funziona perfettamente. L'unica differenza è che se lo creo come sito web mi mette il file di codice del Web Service nella cartella App_Code
Spero qualcuno mi sappia aiutare, non so neanche come iniziare a capire dove sta il problema!
Grazie, Davide