Je suis nouveau avec WCF, j'essaie de déployer mon exemple d'application WCF sur IIS, cette application fonctionne bien en mode débogage avec VS2008, cette application authentifie la WCF messages avec le code suivant. Je le fais comme ça, je l'ai ajouté le .DLLs résultat web.config et le Service.svc dans le répertoire wwwroot, et je l'ai également ajouté la chaîne de connexion dans IIS Manager, qui estDéploiement de l'application WCF dans IIS, mais la connexion à la base de données SQL Server ne fonctionne pas
Server=MyPC\SQLEXPRESS;Database=MySampleDb;Integrated Security=true
J'utilise Sécurité intégrée de Windows. J'utilise même chaîne de connexion pour la connexion dans la classe de base de données, mais je me exception suivante,
S'il vous plaît me guider pour déployer cette application
Dans valideur
public override void Validate(string userName, string password)
{
ValidateUser(userName, password);
}
public static bool ValidateUser(string userName, string password)
{
if (!string.IsNullOrEmpty(userName))
{
ICustomer customer = GetCustomerByUsername(userName);
if (customer ==null)
{
throw new exception("User Not found.");
}
else
{
return true;
}
}
else
{
throw new FaultException("User name is required!");
}
}
public static ICustomer GetCustomerByUsername(string username)
{
try
{
//ConnectionString= "Server=MyPC\SQLEXPRESS;Database=MySampleDb;Integrated Security=true";
OpenConnection();
var cmd = new SqlCommand("GetUserByUsername", _connection) { CommandType = CommandType.StoredProcedure };
cmd.Parameters.Add("Username", username);
connState = _connection.State.ToString();
if (_connection.State == ConnectionState.Closed)
{
OpenConnection();
}
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
ICustomer customer = null;
customer = ExtractCustomerFromDataReader(dr)[0];
dr.Close();
return customer;
}
catch (Exception e)
{
throw new Exception(e.Message + Environment.NewLine + e.StackTrace);
}
finally
{
CloseConnection();
}
}
Exception:
ExecuteReader nécessite une connexion disponible et disponible. L'état actuel de la connexion est fermé. à System.Data.SqlClient.SqlConnection.GetOpenConnection (String méthode ) à System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute (String méthode , commande SqlCommand) à System.Data.SqlClient.SqlCommand.ValidateCommand (String procédé , async Boolean) à System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, runBehavior runBehavior, booléenne returnStream, méthode String, résultat de DbAsyncResult) à System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, méthode String) à System.Data.SqlClient.SqlCommand.ExecuteReader (comportement CommandBehavior , méthode String) à System.Data.SqlClient.SqlCommand.ExecuteReader (comportement CommandBehavior ) à Aschrafi.MobileZollServer.Services.DatabaseHelper.GetCustomerByUsername (String nom d'utilisateur) dans
Je pense qu'il me manque un certain point dans les paramètres de base de données ou dans le Gestionnaire des services Internet (IIS) les paramètres du site Web. Un tutoriel ou un lien vers un article pour le déploiement de WCF dans IIS et l'authentification de la communication WCF serait vraiment apprécié.
Merci d'avance.
Merci pour votre réponse, quel utilisateur dois-je utiliser. Si je dois créer un nouveau ce qui devrait être Nom d'utilisateur: schéma par défaut: propriété Schemas. et rôles memebers et comment devrait regarder la chaîne de connexion dans le code C# et dans le gestionnaire IIS. – DronBoard
@DronBoard: mis à jour ma réponse avec des informations supplémentaires –