2015-12-23 1 views
1

J'ai récemment appris à utiliser app.config pour enregistrer des chaînes de connexion pour mes projets .net. Ce que j'ai trouvé très utile si jamais je change quelque chose dans la chaîne de connexion et le projet a déjà été publié.Utilisation du fichier app.config pour se connecter à un objet de société SAP

Maintenant, je travaille avec l'objet company du SDK B1 de SAP, et je ne veux pas conserver les détails de connexion dans un code fixe. Comme ce n'est pas seulement une chaîne de connexion (aussi loin que je sache), je me demandais si app.config pouvait également stocker mes informations de connexion pour l'objet company.

Voilà comment je fais habituellement des liens avec l'objet company:

 oCompany = new SAPbobsCOM.Company(); 

     oCompany.Server = "servername"; 
     oCompany.language = SAPbobsCOM.BoSuppLangs.ln_Spanish_La; 
     oCompany.DbServerType = BoDataServerTypes.dst_MSSQL2008; 
     oCompany.LicenseServer = "localhost:30000"; 
     oCompany.UseTrusted = false; 
     oCompany.DbUserName = "dbusername"; 
     oCompany.DbPassword = "dbpassword"; 
     oCompany.CompanyDB = "companyDB"; 
     oCompany.UserName = "cusername"; 
     oCompany.Password = "cpassword"; 

     lRetCode = oCompany.Connect(); 
+1

Regardez http://stackoverflow.com/questions/925638/add-values-to-app-config-and-retrieve-them – BWA

Répondre

2

commentaire de Karol est sur le point, voici comment nous installons habituellement le nôtre. Seul un commentaire supplémentaire indique que, selon l'apparence de votre environnement de déploiement, vous pouvez chiffrer les informations d'identification sensibles dans votre app.config (mots de passe).

// In code 
Company company = new Company 
{ 
    Server = ConfigurationManager.AppSettings["DevServer"], 
    DbUserName = ConfigurationManager.AppSettings["DevDBUser"], 
    DbPassword = ConfigurationManager.AppSettings["DevDBPassword"], 
    CompanyDB = ConfigurationManager.AppSettings["DevDatabase"], 
    UserName = ConfigurationManager.AppSettings["DevSBOUser"], 
    Password = ConfigurationManager.AppSettings["DevSBOPassword"], 
    language = BoSuppLangs.ln_English 
}; 

// In your app.config 
<appSettings> 
    <add key="DevServer" value="DEV-SAP-SRV"/> 
    <add key="DevDBUser" value="sa"/> 
    <add key="DevDBPassword" value="sapassword"/> 
    <add key="DevSBOUser" value="manager"/> 
    <add key="DevSBOPassword" value="1234"/> 
    <add key="DevDatabase" value="SBO_COMPANY_NAME"/> 
</appSettings> 
+1

Salut, dois-je avoir le mot de passe crypté déjà dans ma 'app. config' et juste avoir une méthode de décryptage dans mon code? –

+0

Oui, c'est la bonne approche. – Overhed