none
Formulário ASP.NET não funciona quando esta no servidor RRS feed

  • Pergunta

  • Olá, 

    Eu fiz um formulário para inserção de dados (nome e e-mail). Fiz a conexão com o banco de dados MySql pelo visual Studio na minha maquina local, até ai tudo bem.

    O formulário funcionou corretamente e estava gravando os dados, então eu compilei o código e subi para o servidor, quando testo a página o corre um erro, o formulário envia mas quando vou ver no banco de dados não tem nada gravado, então peguei esta mesma aplicação e coloquei em outro servidor, ai funcionou, o problema é que quando eu coloco os arquivos no servidor do site que onde a aplicação deve ficar, o formulário da problema, alguém poderia me ajudar?

    muito obrigado!

    quarta-feira, 18 de abril de 2012 18:11

Todas as Respostas

  • Victor,

    Você tem mais detalhes do erro?

    Já verificou o Event Viewer do servidor?


    Carlos Eduardo Ferreira

    quarta-feira, 18 de abril de 2012 18:21
  • Eu não tenho acesso ao Event Viewer, e o problema é que quando eu preencho o formulário ele diz que envia mas quando vou ver no servidor não há nada, 

    Já quando testo a aplicação na minha máquina local o formulário funciona.


    • Editado VictorBrito quarta-feira, 18 de abril de 2012 18:43
    quarta-feira, 18 de abril de 2012 18:37
  • Você está tratando erros no seu código?

    Está utilizando try/catch?


    Carlos Eduardo Ferreira

    quarta-feira, 18 de abril de 2012 18:45
  • Sim estou tratando os erros.

    Eu testei esta aplicação em outro servidor e funcionou, testei em casa e funcionou, aqui na maquina local também, só quando eu mando o projeto compilado para o servidor ele não funciona mais. o formulário envia não apresenta erro e vou ver no banco MySQL não tem nada gravado.

    quarta-feira, 18 de abril de 2012 19:03
  • Victor fica mais fácil se você colocar o código aqui para nós tentarmos ver onde está seu erro!

    Att. Lucas Rodrigues

    quinta-feira, 19 de abril de 2012 12:08
  • Ok, segue o código abaixo, eu fiz uma aplicação completamente simples, vejam abaixo... 

    Obrigado!

    Só de você executar o projeto na sua máquina (se você tiver o mySQL Connector) ele já grava no banco, mas quando compila e manda pro servidor ele não funciona mais.

    ///////////////////////////////////////////////// Código C# //////////////////////////////////////////////////


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Configuration;
    using System.Web.Mail;
    using MySql.Data.MySqlClient;


    public partial class _Default : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Enviarbt_Click(object sender, EventArgs e)
        {   
                GravanoBanco(); 
        }

        protected void GravanoBanco(){

            MySqlConnection Conection = new MySqlConnection(ConfigurationManager.ConnectionStrings["MarketingConnectionString"].ToString());
            string StrSql = "INSERT INTO News (nome,email) VALUES('" +
                   Nometxt.Text +
           "','" + Emailtxt.Text + "')";
            MySqlCommand CmdSql = new MySqlCommand(StrSql, Conection);
            try
            {
                Conection.Open();
                CmdSql.ExecuteNonQuery();
            }

            catch
            {


            }

            finally
            {
                Conection.Close();
                Resultado.Text = "Gravado com sucesso!";
            }

        }
    }

    /////////////////////////////////////////  Fim C# ///////////////////////////////////////////////////////////

    /////////////////////////////////////////  Código Pagina Principal  ///////////////////////////////////////////////////////////

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"  ValidateRequest="false"%>

    <!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>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <br />
            <asp:Label ID="Nomelbl" runat="server" Text="Nome: "></asp:Label>
            <asp:TextBox ID="Nometxt" runat="server"></asp:TextBox>

            <br />
            <asp:Label ID="emaillbl" runat="server" Text="E-mail: "></asp:Label>
            <asp:TextBox ID="Emailtxt" runat="server"></asp:TextBox>
            <br />

           
           <asp:Button ID="Enviarbt" runat="server" onclick="Enviarbt_Click" 
                Text="Enviar"  ValidationGroup="FormTeste"/>
            <br />
            <asp:Label ID="Resultado" runat="server"></asp:Label>
        
        </div>
        </form>
    </body>
    </html>

    /////////////////////////////////////////  fim pagina principal  ///////////////////////////////////////////////////////////

    /////////////////////////////////////////  web.config  ///////////////////////////////////////////////////////////

    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
    <connectionStrings>
    <!--  <add name="MarketingConnectionString" connectionString="Data Source=BRWPLTW2K8BD;Initial Catalog=Marketing;User ID=intranet;Password=Brwintrasql"  providerName="System.Data.SqlClient" />-->
    <add name="MarketingConnectionString" connectionString="server=mysql01.clapit.hospedagemdesites.ws;User Id=clapit;Password=clapitbd;Persist Security Info=True;database=clapit"/>
    <!--  <add name="MarketingConnectionString" connectionString="Data Source=BRWPLTW2K8BD;Initial Catalog=Marketing;User Id=intranet;Password=Brwintrasql;"  providerName="System.Data.SqlClient" />-->
    <!-- <add name="MarketingConnectionString" connectionString="Data Source=BRWPLTW2K8BD;Initial Catalog=Marketing;User Id=intranet;Password=Brwintrasql;"  providerName="System.Data.SqlClient" />-->
    </connectionStrings>
    <system.web>
    <compilation debug="true" targetFramework="4.0">
    <assemblies>
    <add assembly="MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/></assemblies></compilation>
    </system.web>
    </configuration>

    /////////////////////////////////////////  web.config  ///////////////////////////////////////////////////////////

    quinta-feira, 19 de abril de 2012 15:13
  • Provavelmente você não está enviando a MySql.Data.dll junto da pasta bin,

    Outra coisa que pode ser é exatamente a versão da dll do servidor ser diferente, já passei por isso... e enviando a dll na pasta bin funcionou.



    Espero ter ajudado. Se a dica foi útil favor marcar como tal.

    Luiz Carlos Pereira da Silva

    LTPA IT SOLUTIONS
    www.ltpa.com.br | twitter: @LUIZconsultorTI | skype: luiz.dev

    quinta-feira, 19 de abril de 2012 15:23
  • Sobre a Dll eu mando ela junto, o formulário não da nenhum erro mas não envia nada, a dll do MySQL que estou usando é a ultima versão. Vou verificar ser o servidor em que eu vou hospedar o site suporta, 

    O problema é que eu já testei este formulários em outros 3 servidores e funcionou corretamente, só quando eu mando a aplicação para o servidor do site ele não funciona. É estranho demais...

    quinta-feira, 19 de abril de 2012 15:57
  • Pessoal, eu tratei novamente o formulário e ele apresenta o seguinte erro quando esta no servidor, alguem tem alguma idéia?

    Desde ja agradeço!!

    Security Exception
    
    Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 
    
    Exception Details: System.Security.SecurityException: Request for the permission of type 'MySql.Data.MySqlClient.MySqlClientPermission, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' failed.


    sexta-feira, 20 de abril de 2012 02:44
  • Acredito ser o MySql negando permissão para o seu servidor.

    sexta-feira, 20 de abril de 2012 11:23
  • Alguém já passou por isso?

    Obrigado.

    sexta-feira, 20 de abril de 2012 16:23
  • Olá

    A mensagem de erro é bem clara, provavelmente o seu serviço de hospedagem possui uma política que limita o TrustLevel de sua aplicação.

    Para trocar isso vá até o web.config e edite ou crie a chave:

    <system.web>
         <trust level="Medium" />
    </system.web>

    Sugiro que use o "Medium", mas em outros casos deverá se informar com o ADM do servidor para saber qual está sendo permitido.

    Boa sorte!


    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    • Sugerido como Resposta EduardoPiresMVP quinta-feira, 26 de abril de 2012 16:50
    quinta-feira, 26 de abril de 2012 16:50
  • Conseguimos lhe ajudar em algo amigo? Se sim marque como resposta!

    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    sexta-feira, 11 de maio de 2012 20:43