我有一个.NET应用程序,它具有用于Debug和Release版本的不同配置文件.例如调试app.config文件指向一个发展的SQL Server具有调试启用,并公布目标指向活的SQL Server.还有其他设置,其中一些在调试/发布中有所不同.
我目前使用两个单独的配置文件(debug.app.config和release.app.config).我在项目上有一个构建事件,它说如果这是一个发布版本,那么将release.app.config复制到app.config,否则将debug.app.config复制到app.config.
问题是应用程序似乎从settings.settings文件中获取其设置,因此我必须在Visual Studio中打开settings.settings,然后提示我设置已更改,因此我接受更改,保存settings.settings并具有重建以使其使用正确的设置.
是否有更好/推荐/首选的方法来实现类似的效果?或者同样,我接近这个完全错误并且有更好的方法吗?
我遇到了这种方法来生成一个Javascript堆栈跟踪(以修复IE特定的bug):http://pastie.org/253058.txt听起来非常有用,但是当我调用它时,我得到的堆栈跟踪是为了脚本本身的代码?!
可以更改此代码以生成一般堆栈跟踪吗?或者有更好的方法来获取IE中的堆栈跟踪?
(function () {
YOUR_NAMESPACE.getStackTrace = (function () {
var mode;
try {(0)()} catch (e) {
mode = e.stack ? 'Firefox' : window.opera ? 'Opera' : 'Other';
}
switch (mode) {
case 'Firefox' : return function () {
try {(0)()} catch (e) {
return e.stack.replace(/^.*?\n/,'').
replace(/(?:\n@:0)?\s+$/m,'').
replace(/^\(/gm,'{anonymous}(').
split("\n");
}
};
case 'Opera' : return function () {
try {(0)()} catch (e) {
var lines = e.message.split("\n"),
ANON = '{anonymous}',
lineRE = /Line\s+(\d+).*?in\s+(http\S+)(?:.*?in\s+function\s+(\S+))?/i,
i,j,len;
for (i=4,j=0,len=lines.length; …Run Code Online (Sandbox Code Playgroud) 我有一个viewmodel类,它包含几个属性.基本上,当前记录(用户正在编辑)和一个选项列表(用于使用DropDownListFor填充下拉列表).
提交表单后,如果modelstate无效,则返回视图.我知道表单是使用"拒绝"输入填充的ModelState["name"].Value.AttemptedValue,但我不知道如何处理下拉列表的值列表.
如果我什么都不做,在验证失败并返回页面时,我得到一个'对象引用未设置为对象的实例'错误,因为viewmodel的list属性为null.我知道它是null,因为它没有从表单帖子绑定,所以我可以在返回视图之前从数据库重新填充它.
这是正确的方法,还是我错过了一种更明显的方法来使下拉值保持不变?
我有一个表人士及地址.一个人可以拥有多个地址记录,因此与Address的简单1 ..*关系具有引用"人员ID"的字段.
现在,对于给定的人,我希望识别他们的"默认"或"主要" 地址.
我想出了两个想法,但我也不相信.在我决定之前,任何人都可以提出任何关于潜在问题的评论我可以面对任何一个选项...
(一个).可以在Person上有一个"默认地址ID" ,它将存储默认地址记录的ID .这里可能存在的缺陷是可以在此处设置不属于此Person的地址,因此需要额外的检查约束来防止这种情况.
(b)中.可以在地址表上有一个"默认"标志,但这有可能允许多个选择,因此需要进一步检查,以便在设置标志时,它也会在属于同一个人的所有记录上清除.
任何
我按照https://www.jetbrains.com/resharper/help/Sharing_Configuration_Options.html了解ReSharper如何使用不同的设置文件层
所以我想为我的团队设置一个新文件,我在Blah.sln旁边的解决方案的根目录下添加了一个新的Blah.sln.DotSettings文件.
当我这样做时,文件是空的.如何使用ReSharper默认值创建此文件?
例如,如果开发人员在其计算机级别将"设置A"从"值1"更改为"值2",则由于团队文件中没有"设置A"条目,因此他们的计算机级别设置获胜.我需要团队级文件中的原始"设置A"行来否决他们的机器级别设置
如何首先在团队文件中获取这些默认值?
我在做一些看起来很简单的事情时遇到了这么困难,以至于我觉得有些东西我不知道了.
更新1
如果在我的机器级别,我更改了我感兴趣的所有设置,因此它们不再是默认值,然后我进入团队级别并将每个设置恢复到该级别的默认值,这使我明确了团队级文件中每个设置的行.然后,如果我清除机器级别的线路,我仍然拥有团队级别的那些线路,我可以签入并与团队共享.我认为这会起作用,它似乎不是正确的方法.
我需要从数据库(SQL Server)中的表中选择一些数据,并将其显示在SharePoint站点(MOSS 2007)的页面上.
我对MOSS有一点经验,所以我知道我有几个选择:
我从来没有真正使用过任何这些.任何人都可以提供每个+/-的建议吗?
我正在设计一个处理两组数据的应用程序 - 用户和区域.从第三方生成的文件中读取数据.我有一个User类和一个Area类,数据被读入Users数组和Areas数组(或其他适当的内存结构,具体取决于我们使用的技术).
这两个类都有一个从文件中读取的唯一ID成员,User类包含一个Area ID数组,给出一个用户与许多Area关联的关系.
要求非常简单:
我的第一个想法是将数据保留在两个数组中,然后对于每个要求,都有一个单独的方法,可以根据需要询问一个或两个数组.这很容易实现,但我不相信它一定是最好的方法.
然后我考虑在User类上有一个'Get Areas'方法,在Area类上有一个'Get Users'成员,如果我在一个我有一个Area对象的阶段,我会发现它会更有用它是属性的用户,但那么Area类上的'Get Users'方法如何知道/有权访问Users数组.
我以前曾多次遇到过这个问题,但从未真正想出过一个明确的解决方案.也许我只是让它变得比实际更复杂.任何人都可以提供任何有助于我进行此类设计的提示,网址或书籍吗?
更新:谢谢大家抽出时间留下一些提示.非常感谢您的评论.
我同意这个问题的根源是多对多的关系.我理解如何在关系数据库中建模,这非常简单.
我收到的数据是来自第三方的二进制文件的形式,所以我无法控制这些数据的结构,但是当我读到它时,我可以以最好的方式存储它.它是圆形的方形钉漏洞,但我想把它读入然后存储在数据库中,然后程序必须查询数据库才能得到结果.这不是大量的数据,所以我认为通过将其存储在内存结构中可以得到我需要的东西.
说我有一个简单的观点,MyView.
如果我做:
SELECT * FROM MyView
Run Code Online (Sandbox Code Playgroud)
我知道后面的底层查询MyView是为了构建视图而执行的.
现在,如果我是:
SELECT * FROM MyView WHERE MyValue BETWEEN 2 AND 5
Run Code Online (Sandbox Code Playgroud)
我是否认为在WHERE应用之前仍必须执行整个基础查询?
我相信这是从执行计划窗口看到的情况,但我认为我的例子可能太简单了,看不到任何真正的区别.
(这意味着随着事情变得越来越复杂,取决于WHERE构成视图的连接的条件和条件,在不使用视图的情况下编写查询会更有效吗?)
.net ×1
asp.net ×1
c# ×1
class-design ×1
debugging ×1
javascript ×1
moss ×1
oop ×1
resharper ×1
sharepoint ×1
sql ×1
sql-server ×1
t-sql ×1
vb.net ×1