IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Ajax Toolkit Autocomplete fonctionne en Dev mais pas en Prod


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Ajax Toolkit Autocomplete fonctionne en Dev mais pas en Prod
    Bonjour à tous,

    Alors voilà j'ai un problème que je n'arrive pas à résoudre (et j'espère que l'un d'entre vous pourra m'aider :-)):

    J'ai créé un Web Service Autocomplete.asmx, que j'appel via l'une de mes pages, et qui va chercher des données dans ma base de données. Tout fonctionne parfaitement bien sous Visual Studio 2010.

    Le problème c'est que quand je passe le tout sur mon serveur (Windows Server 2008 avec IIS 7, Framework 4.0), il ne se passe strictement rien!

    Bref je commence à vraiment m'arracher les cheveux! J'espère que quelqu'un pourra m'aider!!!


    Code du service:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Imports System
    Imports System.Collections
    Imports System.Linq
    Imports System.Web
    Imports System.Web.Services
    Imports System.Web.Services.Protocols
    Imports System.Xml.Linq
    Imports System.Collections.Generic
    Imports System.Data
    Imports System.Data.SqlClient
     
    ' To allow this Web Service to be called from script, using ASP.NET AJAX, 
    ' uncomment the following line.
    <System.Web.Script.Services.ScriptService()> _
    <WebService(Namespace:="http://tempuri.org/")> _
    <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
    Public Class AutoComplete1
        Inherits System.Web.Services.WebService
        Dim cn As New SqlClient.SqlConnection()
        Dim ds As New DataSet
        Dim dt As New DataTable
        <WebMethod()> _
        Public Function GetCompletionList(ByVal prefixText As String, _
     ByVal count As Integer) As List(Of String)
     
            'ADO.Net
            Dim strCn As String = "Data Source=.\SQLEXPRESS;Initial Catalog=BDD;User Id=user;Password=mdp;"
            cn.ConnectionString = strCn
            Dim cmd As New SqlClient.SqlCommand
            cmd.Connection = cn
            cmd.CommandType = CommandType.Text
            'Compare String From Textbox(prefixText) 
            'AND String From Column in DataBase(CompanyName)
            'If String from DataBase is equal to String from TextBox(prefixText) 
            'then add it to return ItemList
            '-----I defined a parameter instead of passing value 
            'directly to prevent SQL injection--------'
     
     
            cmd.CommandText = "SELECT id_article, code FROM article Where code like @myParameter"
     
            cmd.Parameters.AddWithValue("@myParameter", "%" + prefixText + "%")
     
            cn.Open()
            Dim customers As List(Of String) = New List(Of String)
            Dim sdr As SqlDataReader = cmd.ExecuteReader
            While sdr.Read
                Dim item As String
     
                item = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(sdr("code").ToString, sdr("id_article").ToString)
     
                customers.Add(item)
            End While
            cn.Close()
            Return customers
     
        End Function
     
    End Class
    Code de ma page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    [...]
    <asp:HiddenField ID="id_article" runat="server" />
            <asp:TextBox ID="code" autocomplete ="off" AutoPostBack="true" runat="server" Width="150px" Height="20px" placeholder="Code" OnTextChanged="RemplirPrix" />
    [...]
    <script type = "text/javascript">
        function ClientItemSelected(sender, e) {
            $get("<%=id_article.ClientID %>").value = e.get_value();
        }
    </script>
     
    <ajaxToolkit:AutoCompleteExtender ID="autoComplete1" runat="server"
                  EnableCaching="true"
                  BehaviorID="AutoCompleteEx"
                  MinimumPrefixLength="2"
                  TargetControlID="code"
                  ServicePath="AutoComplete.asmx"
                  ServiceMethod="GetCompletionList" 
                  OnClientItemSelected = "ClientItemSelected"
                  CompletionInterval="10"  
                  CompletionSetCount="20"
                  DelimiterCharacters=""
                  ShowOnlyCurrentWordInCompletionListItem="true">
                  <Animations>
                  <OnShow>
                  <Sequence>
                  <%-- Make the completion list transparent and then show it --%>
                  <OpacityAction Opacity="0" />
                  <HideAction Visible="true" />
     
                  <%--Cache the original size of the completion list the first time
                    the animation is played and then set it to zero --%>
                  <ScriptAction Script="// Cache the size and setup the initial size
                                                var behavior = $find('AutoCompleteEx');
                                                if (!behavior._height) {
                                                    var target = behavior.get_completionList();
                                                    behavior._height = target.offsetHeight - 2;
                                                    target.style.height = '0px';
                                                }" />
                  <%-- Expand from 0px to the appropriate size while fading in --%>
                  <Parallel Duration=".4">
                  <FadeIn />
                  <Length PropertyKey="height" StartValue="0" 
    	            EndValueScript="$find('AutoCompleteEx')._height" />
                  </Parallel>
                  </Sequence>
                  </OnShow>
                  <OnHide>
                  <%-- Collapse down to 0px and fade out --%>
                  <Parallel Duration=".4">
                  <FadeOut />
                  <Length PropertyKey="height" StartValueScript=
    	            "$find('AutoCompleteEx')._height" EndValue="0" />
                  </Parallel>
                  </OnHide>
                  </Animations>
            </ajaxToolkit:AutoCompleteExtender>

  2. #2
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Et en le lançant sur le serveur avec debugger + try/catch tu n'as rien ?

    Ton pc de dév est x32/x64 ? 2008 r2 est en x64.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Non il ne me dit rien justement, et il ne fait rien non plus d'ailleurs! La plate-forme de Dev est sous Seven x64 et 2008 r2 SP1 en x64 également.

  4. #4
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Dans l'observateur des évenements Windows du serveur à Journaux Windows -> Application, tu n'as pas de messages relatifs à IIS ? Ta dll ? Ta BDD ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    OUII!!!!! Pourquoi je n'y ai pas pensé plus tôt! Quel c** je fait! En effet, l'observateur signale qu'il y n'arrive pas à contacter la base de données, je n'avais pas modifié l'identifiant et le mot de passe SQL Server, qui sont différents entre les bases de dev et de prod... Et effectivement, avec les bons accès ca fonctionne tout de suite mieux ^^.
    Problème résolu! MERCI BEAUUUUUCOUP!!!!

  6. #6
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Ton merci m'a l'air sincère.
    Bon courage pour la suite !
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programme marche en dev mais pas en prod
    Par IPreferCSharp dans le forum C#
    Réponses: 0
    Dernier message: 04/05/2015, 11h57
  2. Réponses: 1
    Dernier message: 05/07/2012, 18h18
  3. Réponses: 25
    Dernier message: 31/05/2012, 22h38
  4. AJAX : Fonctionne en local mais pas sur serveur distant ?
    Par jejefeds dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/06/2007, 15h26
  5. [AJAX] Ajax fonctionne sur onblur mais pas sur onkeypress
    Par julien.63 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2007, 16h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo