none
The server was unable to process the request due to an internal error. RRS feed

  • Pergunta

  • Olá pessoal,

    Tenho aplicações em Silverlight e um arquivo Web para executá-las. Nesse arquivo Web tenho o serviço ExportService, que serve para as minhas aplicações Silverlight exportarem o que está na tela (imprimir, salvar em pdf, xlsx, etc).

    Quando executo a aplicação em minha máquina (localhost), consigo realizar essas tarefas normalmente (salvar em xlsx, por exemplo). Porém, quando coloco a aplicação no servidor e tento executar essas tarefas do ExportService, aparece o seguinte erro:

    The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.

    Tentei procurar em diversos fóruns, mas não consegui fazer nada para resolver.

    Alguém pode me ajudar?

    Agradeço desde já!

    quinta-feira, 13 de novembro de 2014 16:24

Respostas

  • Isso significa que você tem um problema com a conexão com seu banco Sql Server. Verifique o seu web.config e corrija a String de Conexão.

    Procure pela seção connectionStrings:

    <connectionStrings>
    <add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
    </connectionStrings>

    Se tiver dificuldades para saber como configurá-la, verifique este link:

    How to Convert a LocalDB Connection String to SQL Server Express

    Project templates for Visual Studio 2012 and Visual Studio Express 2012 for Web create connection strings that specify LocalDB databases. To convert one of these connection strings to SQL Server Express, make the following changes:

    • Change "Data Source=(LocalDB)\v11.0" to "Data Source=.\SQLEXPRESS".

      This change assumes that you installed SQL Server Express with the default instance name. For more information, see Data Source later in this topic.

    • If the connection string contains AttachDBFileName, add at the end ";User Instance=True". Omit the semicolon (;) if the connection string already ends with one.

    • Marcado como Resposta Salazar, F quinta-feira, 13 de novembro de 2014 19:16
    quinta-feira, 13 de novembro de 2014 17:24
  • Agradeço a resposta, Deric.

    Outros sistemas utilizam a conexão de String com um banco de dados no SQL.

    Nesse sistema eu troquei a connectionStrings para:

        <add name="xpf.printing" connectionString="XpoProvider=MSSqlServer;Data Source=NOME_DO_SERVIDOR;User ID=user;Password=password;Initial Catalog=CRONOINV_BRF_EXPORT;Persist Security Info=true"/>

    Sendo que CRONOINV_BRF_EXPORT foi uma database criada apenas para isso. E a própria aplicação se encarrega de preenchê-la com as tabelas necessárias.

    Então, funcionou. Obrigado, Deric!

    • Marcado como Resposta Salazar, F quinta-feira, 13 de novembro de 2014 19:16
    quinta-feira, 13 de novembro de 2014 19:16

Todas as Respostas

  • Salazar, em primeiro lugar dê uma olhada no eventviewer do seu servidor para localizar a mensagem de erro que ocorreu não sua aplicação. Outra coisa, para analisar o erro que ocorreu no serviço WCF será necessário habilitar a seguinte chave no web.config do seu WCF:

        <serviceDebug includeExceptionDetailInFaults="true"/>

    Dentro de:

    <configuration>
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <serviceDebug includeExceptionDetailInFaults="true"/>

    quinta-feira, 13 de novembro de 2014 16:30
  • Obrigado pela resposta, Deric.

    Alterei para true no código em que você mencionou, mandei rodar os arquivos no servidor e no registro de eventos aparecem vários erros com essa mesma mensagem:

    Não é possível obter um caminho de dados de aplicativo local. Muito provavelmente, um perfil de usuário não foi carregado. Se LocalDB for executado no IIS, verifique se o carregamento desse perfil está habilitado para o usuário atual.

    Fora isso, na hora da exportação do arquivo (na aplicação), agora o erro que apareceu foi esse da imagem.

    Fico no aguardo, obrigado.

    quinta-feira, 13 de novembro de 2014 17:15
  • Isso significa que você tem um problema com a conexão com seu banco Sql Server. Verifique o seu web.config e corrija a String de Conexão.

    Procure pela seção connectionStrings:

    <connectionStrings>
    <add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
    </connectionStrings>

    Se tiver dificuldades para saber como configurá-la, verifique este link:

    How to Convert a LocalDB Connection String to SQL Server Express

    Project templates for Visual Studio 2012 and Visual Studio Express 2012 for Web create connection strings that specify LocalDB databases. To convert one of these connection strings to SQL Server Express, make the following changes:

    • Change "Data Source=(LocalDB)\v11.0" to "Data Source=.\SQLEXPRESS".

      This change assumes that you installed SQL Server Express with the default instance name. For more information, see Data Source later in this topic.

    • If the connection string contains AttachDBFileName, add at the end ";User Instance=True". Omit the semicolon (;) if the connection string already ends with one.

    • Marcado como Resposta Salazar, F quinta-feira, 13 de novembro de 2014 19:16
    quinta-feira, 13 de novembro de 2014 17:24
  • Agradeço a resposta, Deric.

    Outros sistemas utilizam a conexão de String com um banco de dados no SQL.

    Nesse sistema eu troquei a connectionStrings para:

        <add name="xpf.printing" connectionString="XpoProvider=MSSqlServer;Data Source=NOME_DO_SERVIDOR;User ID=user;Password=password;Initial Catalog=CRONOINV_BRF_EXPORT;Persist Security Info=true"/>

    Sendo que CRONOINV_BRF_EXPORT foi uma database criada apenas para isso. E a própria aplicação se encarrega de preenchê-la com as tabelas necessárias.

    Então, funcionou. Obrigado, Deric!

    • Marcado como Resposta Salazar, F quinta-feira, 13 de novembro de 2014 19:16
    quinta-feira, 13 de novembro de 2014 19:16