2013-09-26 8 views
1

내가 지속성 ServiceStack의 인증 모듈에 대한 백엔드로하여 MongoDB를 사용하기 위해 노력하고있어에서 MongoDB의를 구성, 그래서 나는 web.config에서 다음 노드를 추가 한 방법 : 여기 아래servicestack

<connectionStrings> 
    <add name="myDb" connectionString="mongodb://localhost/mydb?safe=true" /> 
</connectionStrings> 

을 그리고 내 Configure 방법 :

public class MyAppHost : AppHostBase 
{ 
    public MyAppHost() : base("My Web Services", typeof(MyService).Assembly) 
    { 
    } 

    public override void Configure(Container container) 
    { 
     Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { 
      new BasicAuthProvider() 
     })); 
     Plugins.Add(new RegistrationFeature()); 

     var connectionString = ... // how do I retrieve "mongodb://localhost"? 
     var dbName = ...   // how do I retrieve "mydb"? 
     var mongoClient = new MongoClient(connectionString); 
     var server = mongoClient.GetServer(); 
     var db = server.GetDatabase(dbName); 

     container.Register<ICacheClient>(new MemoryCacheClient()); 
     container.Register<IUserAuthRepository>(new MongoDBAuthRepository(db, true)); 
    } 
} 

어떻게 web.config에서 연결 문자열 및 데이터베이스 이름을 검색 할 수 있습니까?

답변

1

귀하의 응용 프로그램 Web.config 또는 appSettings는 액세스하기 위해 권장되는 방법은 다음과 같습니다

당신이 <appSettings/> 태그의 모든 구성 설정을 유지하는 경우이다
var appSettings = new AppSettings(); 
var connStr = appSettings.GetString("myDbConnectionString"); 

.

var connStr = ConfigUtils.GetConnectionString("MyDb"); 
:

당신은 ConfigUtils, 예컨대을 사용할 수는 <connectionStrings>에 보관 연결 문자열에 액세스하려면