.gitignore将Git与Visual Studio Solutions(.sln)和Projects 结合使用时,我应该包含哪些文件?
我有一个应用程序,我们采用了旧的查询字符串URL结构:
?x=1&y=2&z=3&a=4&b=5&c=6
Run Code Online (Sandbox Code Playgroud)
并将其更改为路径结构:
/x/1/y/2/z/3/a/4/b/5/c/6
Run Code Online (Sandbox Code Playgroud)
我们正在使用ASP.NET MVC和(自然地)ASP.NET路由.
问题是我们的参数是动态的,并且(理论上)我们需要适应的参数数量没有限制.
这一切都很好,直到我们受到以下列车的打击:
HTTP错误400.0 - 错误请求ASP.NET在URL中检测到无效字符.
当我们的URL超过一定长度时,IIS会抛出此错误.
这是我们发现的:
IIS确实有最大路径长度限制,但上面的错误不是这个.
了解dot iis dot net如何使用请求过滤部分"根据请求限制过滤"
如果IIS的路径太长,它将抛出404.14,而不是400.0.
此外,IIS最大路径(和查询)长度是可配置的:
<requestLimits
maxAllowedContentLength="30000000"
maxUrl="260"
maxQueryString="25"
/>
Run Code Online (Sandbox Code Playgroud)
经过一番探讨:
IIS论坛主题:ASP.NET 2.0最大URL长度? http://forums.iis.net/t/1105360.aspx
事实证明,这是一个ASP.NET(嗯,真正的.NET)问题.
事情的核心是,据我所知,ASP.NET无法处理超过260个字符的路径.
在棺材中的钉子,这是由菲尔哈克本人证实的:
Stack Overflow ASP.NET url MAX_PATH limit问题ID 265251
那么问题是什么?
问题是,这有多大的限制?
对于我的应用程序,它是一个交易杀手.对于大多数应用程序,它可能不是问题.
披露怎么样?没有提到ASP.NET路由的地方我听过这个限制的窥视.ASP.NET MVC使用ASP.NET路由这一事实使其影响更大.
你怎么看?
我有一个标准的Domain Layer实体:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
它具有某种验证属性:
public class Product
{
public int Id { get; set; }
[NotEmpty, NotShorterThan10Characters, NotLongerThan100Characters]
public string Name { get; set; }
[NotLessThan0]
public decimal Price { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我已经完全弥补了这些属性.这里使用的验证框架(NHibernate Validator,DataAnnotations,ValidationApplicationBlock,Castle Validator等)并不重要.
在我的客户端层,我也有一个标准设置,我不使用域实体本身,而是将它们映射到我的视图层使用的ViewModels(aka DTO):
public class ProductViewModel
{
public int Id { get; set; }
public string Name { get; set; } …Run Code Online (Sandbox Code Playgroud) 我.gitignore在Windows上遇到了一个奇怪的问题.
我希望git忽略所有.exe文件,除了Dependencies文件夹(和所有子文件夹)中的文件.
所以我有:
.gitignore:
*.exe
!/Dependencies/**/*.exe
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.
同时,这样做:
*.exe
!/Dependencies/folder/subfolder/*.exe
Run Code Online (Sandbox Code Playgroud)
所以我想知道,我搞砸了什么,或者这是一种什么样的错误?
我在Windows(Windows 7 x64)版本1.6.5.1-preview20091022上运行msysgit
提前感谢任何输入:)
我已经有了数据库变更管理工作流程.它基于SQL脚本(因此,它不是基于托管代码的解决方案).
基本设置如下所示:
Initial/
Generate Initial Schema.sql
Generate Initial Required Data.sql
Generate Initial Test Data.sql
Migration
0001_MigrationScriptForChangeOne.sql
0002_MigrationScriptForChangeTwo.sql
...
Run Code Online (Sandbox Code Playgroud)
启动数据库的过程是运行所有Initlal脚本,然后运行顺序迁移脚本.一个工具可以考虑版本控制要求等.
我的问题是,在这种设置中,保持这个是有用的:
Current/
Stored Procedures/
dbo.MyStoredProcedureCreateScript.sql
...
Tables/
dbo.MyTableCreateScript.sql
...
...
Run Code Online (Sandbox Code Playgroud)
"this"是指脚本目录(由对象类型分隔),表示用于旋转当前/最新版本数据库的创建脚本.
出于某种原因,我非常喜欢这个想法,但我无法具体证明它的需要.我错过了什么吗?
优点是:
缺点是:
提前感谢任何输入!
假设我有两个数据库实例:
InstanceA - Production server
InstanceB - Test server
Run Code Online (Sandbox Code Playgroud)
我的工作流程是首先部署新的架构更改InstanceB,测试它们,然后将它们部署到InstanceA.
因此,在任何时候,实例架构关系如下所示:
InstanceA - Schema Version 1.5
InstanceB - Schema Version 1.6 (new version being tested)
Run Code Online (Sandbox Code Playgroud)
我的工作流程的另一部分是尽可能保持数据的InstanceB新鲜.为了实现这一点,我正在进行数据库备份InstanceA并将它们应用(恢复它们)InstanceB.
我的问题是,架构版本如何影响恢复过程?
我知道我可以这样做:
Backup InstanceA - Schema Version 1.5
Restore to InstanceB - Schema Version 1.5
Run Code Online (Sandbox Code Playgroud)
但我可以这样做吗?
Backup InstanceA - Schema Version 1.5
Restore to InstanceB - Schema Version 1.6 (new version being tested)
Run Code Online (Sandbox Code Playgroud)
如果不是,失败会是什么样子?
如果是,那么架构变更的类型是否重要?
例如,如果Schema Version 1.6从不同Schema Version 1.5的只是具有改变storec …