目前,我正在开发一个项目来管理服务器等数据库上的维护窗口.基本上,我只需要精确到一小时,但允许将它们设置为允许或禁止每天一周中的.
我对如何做到这一点有一些想法,但由于我自己工作,我不想在没有一些反馈的情况下做任何事情.
为了形象化,它就像流动的"图形"
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
-------------------------------------------
5AM |allow|allow|allow|deny |deny |allow|allow|
-------------------------------------------
6AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
7AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
8AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
9AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
... etc...
Run Code Online (Sandbox Code Playgroud)
有没有一种标准的方式来做这个或资源,可能会给我一些想法......
[更新]
值得一提的是,即使不太可能,也可以设置为"允许,拒绝,允许,拒绝......等等".跨度不能保证是一整天中唯一的一个.
这也不是唯一的时间表,会有数百台设备各自有自己的时间表,所以它会变得毛茸茸......哈哈?
Rob问每周是否需要跟踪 - 事实并非如此.这是适用于整年的通用计划(定期维护)
考虑这个示例表(假设SQL Server 2005):
create table product_bill_of_materials
(
parent_product_id int not null,
child_product_id int not null,
quantity int not null
)
Run Code Online (Sandbox Code Playgroud)
我正在考虑一个包含两个product_id列的复合主键(我肯定想要一个唯一的约束)而不是一个单独的唯一ID列.问题是,从性能的角度来看,主键是否应该聚类?
我是否还应该在每个ID列上创建索引,以便更快地查找外键?我相信这个表在读取上会比写入更多.
我们知道IIS缓存ConfigurationManager.AppSettings,因此它只读取磁盘一次,直到更改了web.config.这样做是出于性能目的.
有人在:
http://forums.asp.net/p/1080926/1598469.aspx#1598469
表示.NET Framework不会对app.config执行相同操作,但它会从磁盘读取每个请求.但我觉得很难相信,因为它会变慢.请告诉我他错了或者我必须修复我写的每个控制台/ Windows窗体/ Windows服务.
更新我很遗憾我误解了人们在上面的链接论坛中所说的内容.
我一直在观看Douglas Crockford在YUI剧院的演讲,我有一个关于JavaScript继承的问题......
Douglas给出了这个例子,表明"Hoozit"继承自"Gizmo":
function Hoozit(id) {
this.id = id;
}
Hoozit.prototype = new Gizmo();
Hoozit.prototype.test = function (id) {
return this.id === id;
};
Run Code Online (Sandbox Code Playgroud)
他为什么要写Hoozit.prototype = new Gizmo()而不是Hoozit.prototype = Gizmo.prototype?
这两者有什么区别吗?
如何在buttonfield列按钮中访问并显示gridview项的行索引作为命令参数?
<gridview>
<Columns>
<asp:ButtonField ButtonType="Button"
CommandName="Edit" Text="Edit" Visible="True"
CommandArgument=" ? ? ? " />
.....
Run Code Online (Sandbox Code Playgroud) 我正在考虑在我的应用程序中编写一个简单的同步功能,其中一个问题是两个远程计算机之间的时间同步,每个计算机都有自己的时钟(特别是关于文件/对象的修改日期).
我确信已就这一主题进行了大量研究,并且不想过于理论化,但我想知道是否有任何可接受的最佳实践可以最大限度地减少远程时钟之间的时间差异?
例如,一个开始是始终使用通用时间(UTC),因为这可以避免时区问题,但不能保证两台计算机将具有完全相同的系统时间.幸运的是,我正在做的工作并不是非常精细,所以它并不是一个非常重要的问题,但我仍然很好奇.
一种解决方案是始终在两端使用相同的时钟,例如全局时间服务器,而不是本地系统时钟.据推测,这(与共享资源锁相结合)可以保证同步时间不会意外重叠,但这不是很实用.
有人认为只是突然出现在每个节点(每个客户端)与先前某点计算的偏移同步,可能是通过计算系统时钟与全球时间服务器的偏移量.这只需要偶尔进行,因为偏移本身不会在短时间内发生很大变化.
更新:我只想补充一点,我对实际同步两台计算机的系统时钟并不感兴趣 - 我认为操作系统在大多数情况下都会处理这个问题.这只是一个如何确保应用程序的两个实例使用同步时间的问题,尽管在这个时代,我认为系统时钟几乎肯定会在一些非常小的delta内同步.
对我来说有些不清楚的是VB.NET中的类的引用(指针?).我要问的问题可以通过一些测试来回答,但我想知道是否有人可以发布一个不错的解释(或链接).
如果您创建一个类:
Public Class ReferenceClass
Private myBooleanValue As Boolean = False
Public Property BooleanValue As Boolean
Get
Return myBooleanValue
End Get
Set(value As Boolean)
myBooleanValue = value
End Set
End Property
End Class
Run Code Online (Sandbox Code Playgroud)
然后是一个实际使用此类作为属性的类:
Public Class UsingClass
Private myReference As ReferenceClass
Public Property Reference As ReferenceClass
Get
return myReference
End Get
Set(value As ReferenceClass)
myReference = value
End Set
End Property
Public Sub New(ByVal Reference As ReferenceClass)
myReference = Reference
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
Public Class RuntimeOrSomething
Public Shared …Run Code Online (Sandbox Code Playgroud) 首先,让我列出我想做的事情.假设我有三种EntityObject,MetaData,Data1和Data2.MetaData正如人们所期望的那样,是对每个Data1和的一个实例的引用Data2.现在,对于每一个MetaData,我可以计算一个value.
到目前为止这么简单.现在,我想用户玩弄的各种组合Data1和Data2,看看value就是他们可以得到的.这显然需要创建实例MetaData.现在,如果我不想用所有这些条目来填充数据库MetaData,那么我想在内存上下文中创建实体对象而不调用将SaveChanges()其写回数据库.但是,这会产生一个问题,即每当我尝试访问内存中的Data1和Data2引用时MetaData,我最终会遇到以下异常:
InvalidOperationException未处理
当相关对象处于添加状态或分离状态且最初未使用NoTracking合并选项检索时,无法返回此EntityCollection或EntityReference的源查询.
如果我按照建议做,并将对象"提交"到DB,我最终会遇到混乱问题.
无论如何,有罪的代码看起来像这样:
MetaData temp = MetaData.CreateMetaData(0);
MetaData.Data1 = <existing Data1 from context>;
MetaData.Data2 = <existing Data2 from context>;
//Exception here
if (!MetaData.Data1Reference.isLoaded)
MetaData.Data1Reference.Load();
Run Code Online (Sandbox Code Playgroud)
看来这家伙有类似的问题.
从MS AJAX源代码,
Type.isClass = function Type$isClass(type) {
/// <summary locid="M:J#Type.isClass" />
/// <param name="type" mayBeNull="true"></param>
/// <returns type="Boolean"></returns>
var e = Function._validateParams(arguments, [
{name: "type", mayBeNull: true}
]);
if (e) throw e;
if ((typeof(type) === 'undefined') || (type === null)) return false;
return !!type.__class;
Run Code Online (Sandbox Code Playgroud)
}
请看最后一行代码,为什么用!! 而不只是返回类型.__类?
谢谢!
我DataGridView在桌面应用程序中绑定了具有其ToolTipText属性集的列的数据,但当我将鼠标悬停在网格视图(单元格或单元格标题)上时,不显示任何工具提示.
ShowCellToolTips网格视图的属性是true,并且我已经使用断点验证了在鼠标悬停之前它没有以编程方式更改.
我已经尝试创建一个CellToolTipTextNeeded事件处理程序来查看工具提示文本是什么,但从不调用事件处理程序.
有什么我错过了吗?
谢谢,罗布
编辑:我们正在使用框架2.0.
c# desktop-application datagridview visual-studio-2008 visual-studio
c# ×3
.net ×2
asp.net ×2
database ×2
javascript ×2
asp.net-ajax ×1
caching ×1
clock ×1
datagridview ×1
datetime ×1
gridview ×1
inheritance ×1
performance ×1
pointers ×1
primary-key ×1
sql ×1
time ×1
timespan ×1
vb.net ×1