我主要做Windows开发.我们使用Mantis和Subversion进行开发,但它们没有集成在一起,实际上它们位于不同的服务器上.
我做了一些关于将两者整合在一起的谷歌搜索,并发现了这篇文章.看起来很有趣.
我想知道是否有人这样做或已经完成了这个以及你的经历是什么.如果你有不同的解决方案,我也有兴趣了解它!
谢谢!
我正在使用MSTest通过MySQL Connector和使用EntityFramework 4.3对MySQL 5.5.19数据库运行一些自动化测试.
我正在尝试TransactionScope在我的数据库访问类库中使用,以在需要时执行回滚.另外,在我的测试代码中,我希望TransactionScope在每次测试之前将数据库重新置于已知状态.我使用TestInitialize和TestCleanup方法来完成这个.那些看起来像这样:
[TestInitialize()]
public void MyTestInitialize()
{
testTransScope = new TransactionScope(TransactionScopeOption.RequiresNew);
}
[TestCleanup()]
public void MyTestCleanup()
{
Transaction.Current.Rollback();
testTransScope.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
基于TransactionScope初始化函数中对象的构造,我相信我应该得到一个新的事务范围(没有"环境"存在,所以我相信这个".RequiresNew"在技术上并不重要,因为" .Required"会产生相同的结果.由于我没有指定超时值,它为我提供了默认超时,我理解为60秒.我给定测试运行的时间充足.
我有一个函数调用AddDessert(DessertBiz dessertBizObject),看起来部分是这样的:
using (var transScope = new TransactionScope(TransactionScopeOption.Required))
{
try
{
// ...
context.Desserts.Add(dessert);
context.SaveChanges();
var dessertId = dessert.Id;
DoOtherDessertStuff(dessertId, dessertBizObject);
transScope.Complete();
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
并且我的一个测试调用了这个函数.
由于我在TransactionScopeOption.Required这里指定,我希望它将使用该MyTestInitialize函数创建的"环境"事务范围.
我的测试安排使此DoOtherDessertStuff函数失败并抛出异常,因此调用transScope.Complete();不会发生,并且退出函数中的using块时会自动进行回滚 …
我已经在C#中开发Winforms应用程序已有几年了,并且一直对将未来的发展转向WPF感兴趣,主要是因为我听到了积极的事情.但是,我想知道其他人在迁移到WPF时必须克服哪些障碍.是否会对您的生产力或您遇到的任何特定问题产生重大影响?
我有一些代码需要坐在Windows Server 2003机器上并且每分钟运行一次.
推荐的处理方法是什么?是否可以将其设计为控制台服务,只需让任务调度程序立即命中它?(这是可能的吗?)我应该把它搞砸并把它写成Windows服务吗?
这就是我想要完成的事情:
我有两张桌子,先叫他们第二张.它们每个都有一个ID列.他们可能有其他列,但这些并不重要.我有第三张桌子,称之为第三张桌子.它包含两列,ID和OTHERID.OTHERID引用第一和第二表中可能存在或不存在的条目.
我想查询第三个并查找没有在第一个或第二个表中找到的OTHERID列值的行.目标是从第三个表中删除这些行.
例:
第一桌:
ID
1
2
3
Run Code Online (Sandbox Code Playgroud)
第二表:
ID
6
7
8
Run Code Online (Sandbox Code Playgroud)
第三张桌子
ID | OTHERID
21 1
22 2
23 3
24 4
25 5
26 6
27 7
28 8
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想要从第一个表或第二个表中没有匹配ID的第三个ID中检索ID.我希望得到以下ID:
24
25
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
我已经做了一些事情来取回第三个不在第一个的条目:
select t.* from third t where not exists (select * from first f where t.otherid = f.id);
Run Code Online (Sandbox Code Playgroud)
这将使我回到以下行:
ID | OTHERID
24 4
25 5
26 6
27 7
28 8
Run Code Online (Sandbox Code Playgroud)
同样,我可以得到不在第二位的那些:
select t.* from third t where not exists (select …Run Code Online (Sandbox Code Playgroud) 情况1:
我正在尝试这个
MessageBox m = new MessageBox();
Run Code Online (Sandbox Code Playgroud)
并得到编译错误
'System.Windows.Forms.MessageBox'没有定义构造函数
案例2:
然后,我创建了一个没有构造函数的类
class myClass
{
}
Run Code Online (Sandbox Code Playgroud)
并尝试myClass my = new myClass(); 这次我没有发现错误.
现在,我的问题:
因为,两个都是类,每个类都有默认构造函数
我@RenderSection("Contextual", false)在_Layout.cshtml中使用,允许不同的视图在那里呈现他们的特定内容.有些人没有,有些则没有.
此外,我使用基于角色的安全性和ActionFilter来控制特定用户是否可以访问特定的控制器操作,从而控制我的站点上的路由.
我想做的是提供一个@RenderSection("Contextual", false)关于我的_Layout.cshtml 的部分,然后让特定的页面提供对该页面有意义的任何上下文的东西,并让相应的控制器处理审查用户是否可以执行操作甚至可能看到选项存在,但我不确定我是否正确地考虑了这一点.以下是目前的情况:
现在我在我的一个Index.cshtml文件中有一个部分,如下所示:
@section Contextual {
<div>@Html.ActionLink("Create New", "Create")</div>
<div>@Html.ActionLink("Generate Report", "Report")</div>
<div>@Html.ActionLink("Other Stuff", "Other")</div>
}
Run Code Online (Sandbox Code Playgroud)
然后在我相应的控制器中,我有类似的东西:
[Authorize(Roles = "Editor")]
public ActionResult Create()
{
// stuff
}
Run Code Online (Sandbox Code Playgroud)
这将按我的意愿工作(非编辑器不会创建新项目),但Create条目可供所有人查看.我可以这样做:
@section Contextual {
@if (User.IsInRole("Editor"))
{
<div>@Html.ActionLink("Create New", "Create")</div>
}
<div>@Html.ActionLink("Generate Report", "Report")</div>
<div>@Html.ActionLink("Other Stuff", "Other")</div>
}
Run Code Online (Sandbox Code Playgroud)
这样做效果很好,隐藏了非编辑的创建链接,但是我已经开始关注这样做是否好处,而且我可以看到在路上我遇到的情况规则改变然后我有两个位置保持同步:控制器动作的属性和视图中的代码.
这是一种合理的方法吗?有没有更好的方法来解决这个问题?
我正在构建我的第一个ASP.NET MVC 3应用程序并使用jqGrid.我的一个专栏"Flavor Created"是一个日期列,我想使用DatePicker过滤该列上的网格.以下是当前发生的情况:用户点击列标题过滤器框,显示日期选择器,然后用户选择年,月和每天点击.选择器消失并在文本框中留下日期,比如说,03/28/2009.要实际让过滤器工作,我必须单击该框并按Enter键,这对用户来说有点烦人.
当用户点击那天时,有没有办法让过滤器自动触发?
(顺便说一句,我不确定'完成'按钮的用途是什么,因为每当我点击一天时,选择器就会消失.也许这是我缺少的设置.)
其他人需要这个功能并解决了吗?
我试着这样做:
dataInit: function (elem) {
$(elem).datepicker({ changeYear: true, changeMonth: true, showButtonPanel: true,
onSelect: function (dateText, inst) {
$("#icecreamgrid")[0].trigger("reloadGrid");
}
})
}
Run Code Online (Sandbox Code Playgroud)
正如我在一些网站上看到有人建议的那样,但这似乎没有用.
假设我有两个表:源和文章,并且我希望阅读包含其源的具体详细信息的文章,我可以 (1) 对这两个表使用联接;或者(2)将详细信息复制到文章记录(这将使数据单元更大,但查询会非常简单)。哪个更有效率?
在使用jqGrid开发我的第一个ASP.NET MVC 3应用程序来显示一些数据时,我正在使用列标题过滤器,并且还允许完成高级过滤器工具栏过滤.独立地这些东西工作得很好.
第一个问题 -有没有人能够将当前列标题过滤器设置传达给高级过滤器?
例如,用户可以过滤"冰淇淋名称"列,输入部分名称,例如"巧克力",它将过滤到"巧克力爆炸","黑巧克力"等 - 很棒.最好的方法是打开高级过滤器,并在高级过滤器中自动填充"包含'巧克力'"列过滤器.我认识到另一个方向(有人可以对同一列进行AND或OR两个值,例如'Chocolate'Or'Carramel')成为问题,但在另一个方向上,似乎有可能.也许这只是我缺少的网格设置.有人解决了吗?
第二个问题 -我目前可以使用列标题过滤器进行一些过滤,在网格中显示一些结果集,然后进入高级过滤器对话框并设置不同的过滤器.这将显示正确的结果,但不清除列标题过滤器,给人的印象是过滤不起作用.如何在用户单击对话框上的"查找"按钮后重置这些列标题过滤器?
c# ×3
mysql ×3
asp.net-mvc ×2
jqgrid ×2
.net ×1
asp.net ×1
constructor ×1
join ×1
mantis ×1
mstest ×1
performance ×1
roles ×1
scmbug ×1
sql ×1
svn ×1
task ×1
transactions ×1
windows ×1
winforms ×1
wpf ×1