Je reçois des erreurs lors de données renvoyées par la méthode en utilisant des références de services Web

voix
0

Je vous écris mes services web (asmx) comme

[WebMethod]
//public List<Ahlam> GetBloodGroup(String gblood)
public DataSet GetBloodGroup(string gblood)
{
        string bloodgroup = gblood.ToString();
        string ApoloConn = ConfigurationManager.ConnectionStrings[ConnSApolo].ConnectionString;

        SqlConnection con = new SqlConnection(ApoloConn);

        SqlCommand cmd = new SqlCommand(select name as 'NAME', blood_group as 'BLOOD GROUP', gender as 'GENDER' , city as 'CITY' , mobile as 'MOBILE'  +
            from dontable where blood_group = @bloodgroup, con);
        cmd.Parameters.AddWithValue(@bloodgroup, bloodgroup);
        SqlDataAdapter da = new SqlDataAdapter();

        da.SelectCommand = cmd;
        DataSet ds1 = new DataSet();
        da.Fill(ds1);

        return ds1;
 }

Et c'est le buttonAction quand il est pressé d'appeler la fonction dans mon service web

protected void search_bloodgroup_Click(object sender, EventArgs e)
{ 
      string bg = bloodlist.SelectedItem.Text;
      AhlamQueryGroup.AhlamQueryBloodSoapClient client = new 
      AhlamQueryGroup.AhlamQueryBloodSoapClient();

      DataSet set = client.GetBloodGroup(bg);
      gridview_Donate.DataSource = set;
}

Ceci est en web.configmon projet

<connectionStrings>
    <add name=ConnSApolo 
         connectionString=Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\ApoloDB.mdf;Integrated Security=True; 
         providerName=System.Data.SqlClient />
</connectionStrings>

Et c'est web.configdans mes services web projet

<connectionStrings>
    <add name=ConnSApolo 
         connectionString=Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\ApoloDB.mdf;Integrated Security=True; 
         providerName=System.Data.SqlClient />
</connectionStrings>

Lorsque j'appuie sur le bouton, je reçois cette erreur

System.Web.Services.Protocols.SoapException: serveur n'a pas pu traiter la demande.

System.Data.SqlClient.SqlException: Une tentative de joindre une base de données nommée auto-pour le fichier E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ WebServices \ WebServices \ App_Data \ ApoloDB.mdf a échoué. Une base de données avec le même nom existe, ou le fichier spécifié ne peut pas être ouvert, ou il est situé sur un partage UNC.

à System.Data.SqlClient.SqlInternalConnectionTds..ctor (identité DbConnectionPoolIdentity, sqlConnectionString connectionOptions, SqlCredential informations d' identification, objet providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, sqlConnectionString userConnectionOptions, SessionData reconnectSessionData, piscine DbConnectionPool, String accessToken, BooleanapplyTransientFaultHandling)
au système. Data.SqlClient.SqlConnectionFactory.CreateConnection (options de DbConnectionOptions, DbConnectionPoolKey poolKey, objet poolGroupProviderInfo, piscine DbConnectionPool, DbConnection owningConnection, DbConnectionOptions UserOptions)
à System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (piscine DbConnectionPool, DbConnection owningObject, options DbConnectionOptions, DbConnectionPoolKey poolKey, DbConnectionOptions UserOptions)
à System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions UserOptions, DbConnectionInt ernal oldConnection)
à System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions UserOptions, DbConnectionInternal oldConnection)
à System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions UserOptions, DbConnectionInternal & connexion) à System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSourceune nouvelle tentative, DbConnectionOptions UserOptions, DbConnectionInternal oldConnection, DbConnectionInternal & connexion) à System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSourceune nouvelle tentative, DbConnectionOptions UserOptions) à System.Data.SqlClient.SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSourceune nouvelle tentative) à System.Data.SqlClient.SqlConnection.Open () à System.Data.C ommon.DbDataAdapter.FillInternal (jeu de données de jeu de données, DataTable [], Int32 datatables startRecord, Int32 maxRecords, String srcTable, commande IDbCommand, le comportement CommandBehavior) à System.Data.Common.DbDataAdapter.Fill (jeu de jeu de données, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand commande, le comportement CommandBehavior) à System.Data.Common.DbDataAdapter.Fill (jeu de jeu de données) à WebServices.AhlamQueryBlood.GetBloodGroup (String gblood) dans E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ WebServices \ WebServices \ AhlamQueryBlood.asmx. cs: ligne 40 --- Fin de trace de pile d'exception interne --- description: Une exception non gérée est survenue pendant l'exécution de la demande Web en cours. S'il vous plaît examiner la trace de la pile pour plus d' informations sur l'erreur et son origine dans le code.

Détails de l' exception: System.ServiceModel.FaultException: System.Web.Services.Protocols.SoapException: serveur n'a pas pu traiter la demande. ---> System.Data.SqlClient.SqlException: Une tentative de joindre une base de données nommée auto-pour le fichier E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ WebServices \ WebServices \ App_Data \ ApoloDB.mdf a échoué. Une base de données avec le même nom existe, ou le fichier spécifié ne peut pas être ouvert, ou il est situé sur un partage UNC. à System.Data.SqlClient.SqlInternalConnectionTds..ctor (identité DbConnectionPoolIdentity, sqlConnectionString connectionOptions, SqlCredential informations d' identification, objet providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, sqlConnectionString userConnectionOptions, SessionData reconnectSessionData, piscine DbConnectionPool, String accessToken, Boolean applyTransientFaultHandling) au système .Data.SqlClient.SqlConnectionFactory.CreateConnection (options DbConnectionOptions, DbConnectionPoolKey poolKey, objet poolGroupProviderInfo, piscine DbConnectionPool, DbConnection owningConnection, DbConnectionOptions UserOptions) à System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (piscine DbConnectionPool, DbConnection owningObject, options DbConnectionOptions, DbConnectionPoolKey poolKey, DbConnectionOptions UserOptions) à System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions UserOptions, DbConnectionIn terne oldConnection) à System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions UserOptions, DbConnectionInternal oldConnection) à System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions UserOptions, DbConnectionInternal & connexion) à System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSourceune nouvelle tentative, DbConnectionOptions UserOptions, DbConnectionInternal oldConnection, DbConnectionInternal & connexion) à System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSourceune nouvelle tentative, DbConnectionOptions UserOptions) à System.Data.SqlClient.SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSourceune nouvelle tentative) à System.Data.SqlClient.SqlConnection.Open () à System.Data. Common.DbDataAdapter.FillInternal (jeu de données de jeu de données, DataTable [], Int32 datatables startRecord, Int32 maxRecords, String srcTable, commande IDbCommand, le comportement CommandBehavior) à System.Data.Common.DbDataAdapter.Fill (jeu de jeu de données, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand commande, le comportement CommandBehavior) à System.Data.Common.DbDataAdapter.Fill (jeu de jeu de données) à WebServices.AhlamQueryBlood.GetBloodGroup (String gblood) dans E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ WebServices \ WebServices \ AhlamQueryBlood.asmx. cs: ligne 40 --- Fin de trace de pile d'exception interne ---

Erreur Source:

Ligne 53: Ligne 54: publics System.Data.DataSet GetBloodGroup (string gblood) {Ligne 55: return base.Channel.GetBloodGroup (gblood); Ligne 56:} Ligne 57:

Fichier source: E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ banque de sang \ banque de sang \ Connected Services \ AhlamQueryGroup \ Reference.cs ligne: 55

Trace de la pile:

[FaultException: System.Web.Services.Protocols.SoapException: serveur n'a pas pu traiter la demande. ---> System.Data.SqlClient.SqlException: Une tentative de joindre une base de données nommée auto-pour le fichier E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ WebServices \ WebServices \ App_Data \ ApoloDB.mdf a échoué. Une base de données avec le même nom existe, ou le fichier spécifié ne peut pas être ouvert, ou il est situé sur un partage UNC. à System.Data.SqlClient.SqlInternalConnectionTds..ctor (identité DbConnectionPoolIdentity, sqlConnectionString connectionOptions, SqlCredential informations d' identification, objet providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, sqlConnectionString userConnectionOptions, SessionData reconnectSessionData, piscine DbConnectionPool, String accessToken, Boolean applyTransientFaultHandling) au système .Data.SqlClient.SqlConnectionFactory.CreateConnection (options DbConnectionOptions, DbConnectionPoolKey poolKey, objet poolGroupProviderInfo, piscine DbConnectionPool, DbConnection owningConnection, DbConnectionOptions UserOptions) à System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (piscine DbConnectionPool, DbConnection owningObject, options DbConnectionOptions, DbConnectionPoolKey poolKey, DbConnectionOptions UserOptions) à System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions UserOptions, DbConnectionIn terne oldConnection) à System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject, DbConnectionOptions UserOptions, DbConnectionInternal oldConnection) à System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions UserOptions, DbConnectionInternal & connexion) à System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSourceune nouvelle tentative, DbConnectionOptions UserOptions, DbConnectionInternal oldConnection, DbConnectionInternal & connexion) à System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSourceune nouvelle tentative, DbConnectionOptions UserOptions) à System.Data.SqlClient.SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSourceune nouvelle tentative) à System.Data.SqlClient.SqlConnection.Open () à System.Data. Common.DbDataAdapter.FillInternal (jeu de données de jeu de données, DataTable [], Int32 datatables startRecord, Int32 maxRecords, String srcTable, commande IDbCommand, le comportement CommandBehavior) à System.Data.Common.DbDataAdapter.Fill (jeu de jeu de données, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand commande, le comportement CommandBehavior) à System.Data.Common.DbDataAdapter.Fill (jeu de jeu de données) à WebServices.AhlamQueryBlood.GetBloodGroup (String gblood) dans E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ WebServices \ WebServices \ AhlamQueryBlood.asmx. cs: ligne 40 --- Fin de trace de pile d'exception interne ---]
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) 153
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & MSGDATA, le type Int32) 336
BloodBank.AhlamQueryGroup.AhlamQueryBloodSoap.GetBloodGroup (String gblood) 0
BloodBank.AhlamQueryGroup.AhlamQueryBloodSoapClient.GetBloodGroup (String gblood) dans E: \ Ahlam \ BloodHospital_proje ct \ Blood_Hospital_banks_project \ banque de sang \ banque de sang \ Connected Services \ AhlamQueryGroup \ Reference.cs: 55
BloodBank.FilterDonor.search_bloodgroup_Click (sender Object, EventArgs e) dans E: \ Ahlam \ BloodHospital_project \ Blood_Hospital_banks_project \ banque de sang \ banque de sang \ FilterDonor.aspx.cs: 40 System.Web.UI.WebControls.Button.OnClick (EventArgs e) 9669714
System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) 108
System.Web.UI.WebControls.Button.System.Web.UI .IPostBackEventHandler.RaisePostBackEvent (String eventArgument) 12
System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler SourceControl, String eventArgument) 15
System.Web.UI.Page.RaisePostBackEvent (NameValueCollection postData) 35 System.Web.UI.Page .ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 3562at

c'est la référence de mes webreferences dans le mon projet entrer image description ici ce sont les services web du projet webservices dans la même solution entrent dans la description d'image ici

J'ai essayé de retirer connectionString de web.config dans mon projet webservices mais je reçois une autre erreur entrez la description d'image ici quand je presse continue , je reçois la même première erreur

Créé 07/11/2018 à 20:23
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Pour Simuler la question:

La première chose que vous devez faire est ..

Créer un nouveau projet normal (pas un projet de service Web) puis exécutez votre fonction si elle fonctionne ou non.

public DataSet GetBloodGroup(string gblood)
{
        string bloodgroup = gblood.ToString();
        string ApoloConn = ConfigurationManager.ConnectionStrings["ConnSApolo"].ConnectionString;

        SqlConnection con = new SqlConnection(ApoloConn);

        SqlCommand cmd = new SqlCommand("select name as 'NAME', blood_group as 'BLOOD GROUP', gender as 'GENDER' , city as 'CITY' , mobile as 'MOBILE' " +
            "from dontable where blood_group = @bloodgroup", con);
        cmd.Parameters.AddWithValue("@bloodgroup", bloodgroup);
        SqlDataAdapter da = new SqlDataAdapter();

        da.SelectCommand = cmd;
        DataSet ds1 = new DataSet();
        da.Fill(ds1);

        return ds1;
 }

Quelque chose comme:

DataSet dsSimulate = new DataSet();
dsSimulate = GetBloodGroup("YourbloodValueHere");

Ensuite, exécutez en mode débogage pour obtenir et vérifier l'erreur.

Votre erreur se produit et il est dit ( You already has a database name). Essayez de vérifier si elle est existe ou non.

Rappel:

Avant de faire pour utiliser et gérer votre Web Service, vous devez vous assurer si elle fonctionne en mode normal de débogage.

Il y a deux façons possibles de problème .. Il est soit votre fonction a une erreur ou le déploiement lui-même lors d'appeler votre service Web.

lors de l'ajout de service Web dans votre référence du projet:

Fichier Web.config ( Project Calling the Web Service) Il doit ressembler à ceci après avoir fini d' ajouter la référence de service de liaison déployé à votre projet.

<client>
      <endpoint address="http://localhost:1750/Service1.asmx" binding="basicHttpBinding"
        bindingConfiguration="Service1Soap" contract="Service1.Service1Soap"
        name="Service1Soap" />
      <endpoint address="http://localhost:1750/Service1.asmx" binding="customBinding"
        bindingConfiguration="Service1Soap12" contract="Service1.Service1Soap"
        name="Service1Soap12" />
    </client>

En vous codez Derrière:

 Service1.Service1SoapClient cli;

 protected void Page_Load(object sender, EventArgs e)
 {
    cli = new Service1.Service1SoapClient("Service1Soap12");
    cli.GetBloodGroup("BloodGourHere");//this line returns your DataSet
 }

J'espère que ça aide.

Créé 08/11/2018 à 00:57
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more