По первому вопросу я могу предложить вам подать заявку в ASP.Net или воспользоваться веб-сервисом (второй больше подходит для ваших целей). Для веб-сервисов я думаю, что вы должны кодировать сеанс при вызове метода, подобного этому:
...
[WebMethod]
public DataSet GetData(object id, string sessionId)
{
try
{
DataSet ds = null;
CUser user = Global.GetSession(sessionId);
lock
{
//Your code to get data from the database
}
return ds;
}
catch(Exception ex)
{
throw;
}
}
Для вашего второго вопроса я предлагаю использовать FluentNhibernate. Я использовал FluentNhibernate и очень легко моделировать вашу базу данных и даже генерировать ее. Это только проблеск кода, используемого для настройки реализации SQLite;
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
SQLiteConfiguration.Standard
.UsingFile("firstProject.db")
)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<Program>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}
private static void BuildSchema(Configuration config)
{
// delete the existing db on each run
if (File.Exists(DbFile))
File.Delete(DbFile);
// this NHibernate tool takes a configuration (with mapping info in)
// and exports a database schema from it
new SchemaExport(config)
.Create(false, true);
}
Вы можете увидеть страницу вики FluentNhibernate , и есть вводная реализация этой платформы. Наконец, для администрирования вашей базы данных SQLite я предлагаю вам использовать SQLite Administrator .