我们为特定的利基行业编写了一个软件包.这个软件包非常成功,我们已经注册了业内几个不同的客户,他们使用我们作为托管解决方案提供商,还有许多人正在敲门.如果我们实现了我们的目标,我们将拥有数百个客户,每个客户都有自己的网站托管在我们的服务器上.
麻烦的是,每个客户都会根据自己的当地情况和条件进行自己的小定制和调整,通常(但不总是)基于当地的州甚至县立法或官僚机构.因此,虽然可能90-95%的系统在所有客户端中都是相同的,但我们将不得不构建和支持这些小的自定义.
而且,该系统仍然是一项正在进行中的工作.在核心系统上不断发生需要在所有客户端上应用的增强功能和错误修复.
我们用.NET编写代码(ASP,C#),MS-SQL 2005是我们的数据库服务器,我们使用SourceGear Vault作为源控制系统.我以前曾在Vault中使用分支,如果你只需要保持2个或3个分支同步,那就太棒了 - 但我们正在考虑维护数百个分支,这是不可想象的.
我的问题是:您如何建议我们管理所有这些?
我希望答案能够解决对象架构,Web服务器架构,源代码管理,开发团队等问题.我有一些自己的想法,但我没有真正的管理这样的经验,我真的很感激听过那些以前做过这类事情的人.
谢谢!
architecture version-control customization project-management
如何在Windows系统上创建自己的自定义名字对象(或URL协议)?
例子:
我在C#中使用selenium Webdriver进行webtest.但是我遇到一个问题,当浏览器窗口不是完整大小时,弹出窗口会在可见区域之外的一半打开.
问题是当我触发.Click(); 它没有做任何事情,因为我试图点击的链接在查看区域之外.
那么我如何专注于链接以获得点击工作?我目前正在使用以下解决方法,但我认为这不是一个好方法.
_blogPostPage.FindElement(By.XPath(_popupLogin)).SendKeys("");
_blogPostPage.FindElement(By.XPath(_popupLogin)).Click();
Run Code Online (Sandbox Code Playgroud)
带空格的sendkeys聚焦在链接上并且每次都使Click工作,但是没有正确的方法吗?
二进制文件布局结构的一些好的信息来源在哪里?
如果我想拉入索BTrieve引文件,解析MP3标题等,哪里可以获得可靠的信息?
我已经提到我将成为一个大型新系统的唯一开发者.除此之外,我将设计一个UI和数据库模式.
我相信我会得到一些指导,但我希望能够脱掉他们的袜子.在准备的同时我可以做些什么,当我坐在计算机上时,我需要记住什么?
要记住的一些事情:我是第一个真正的编程工作的大学生.我将使用Java.我们已经设置了SCM,并进行了自动化测试......所以工具不是问题.
对于平台无关(即Javascript)网格控件/插件的任何好建议,它将接受粘贴的Excel数据,并且可以在复制期间发出符合Excel的剪贴板数据?
我相信在"正常"剪贴板操作期间,Excel数据被格式化为CSV格式.
dhtmlxGrid看起来很有前途,但在线演示实际上并没有将内容复制到我的剪贴板!
您希望在MS SQL上调用存储过程,其中T-SQL中的参数类型为TIMESTAMP,而不是使用VARCHAR值的ADO.NET(例如'0x0000000002C490C8').
你是做什么?
更新:这是你有一个"时间戳"值,但只存在于VARCHAR.(在另一个存储过程中考虑OUTPUT变量,但它已经固定为VARCHAR,它只具有TIMESTAMP的值).因此,除非您决定构建动态SQL,否则如何以编程方式将存储在VARCHAR中的值更改为有效的TIMESTAMP?
注意:我不是在寻找MSDN的答案.
您是如何为给定的数据库/应用程序确定正确的ADO.NET批处理大小值的?哪些因素导致您的决定以及您可以分享哪些经验?
使用Fluent NHibernate,我目前正在使用类似的东西:
var sessionFactory = Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey("connString"))
.AdoNetBatchSize(50)
)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Foo>()).BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
根据我的理解,在将它们通过Connection对象发送到服务器进行处理之前,这将一次最多收集50个语句.
我试图将对象插入SQLite InMembory数据库,如下所示:
private void button1_Click(object sender, EventArgs e)
{
var sessionFactory = CreateSessionFactory();
using (var session = sessionFactory.OpenSession())
{
Person p = new Person { Age = 25, FirstName = "Dariusz", LastName = "Smith" };
session.SaveOrUpdate(p);
//transaction.Commit();
}
}
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
SQLiteConfiguration.Standard.InMemory().ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Person>())
.BuildSessionFactory();
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:"SQLite error\r\nno such table: Person"
只是为了澄清:我使用InMemory选项.
我也在使用FluentNhibernate和映射:
public class PersonMap : ClassMap<Person>
{
public PersonMap()
{
//Table("Person") doesn't resolve my problem
Id(x => x.Id);
Map(x => …Run Code Online (Sandbox Code Playgroud) 我想uSNChanged使用 C#通过ActiveDirectory 中的值获取最后修改或创建的属性......我也试图找到 的最大值uSNChanged,你能帮我找出解决方案吗?谢谢