小编Rob*_*ean的帖子

类似MVC的控制台应用程序设计?

我发现编写Web应用程序和WinForm应用程序通常比编写控制台应用程序时更清晰.

清洁工我的意思是什么?事实上,UI(即readline/writeline)与逻辑代码交织在一起变得非常糟糕,事实上它不是事件驱动的,这意味着它很难获得良好的抽象.

我正在考虑这个问题,MVC确实尝试解决网络应用程序的类似问题,所以我的问题是控制台应用程序有什么类似的吗?或任何指南,以更好地设计到控制台应用程序?

.net model-view-controller console

8
推荐指数
2
解决办法
1万
查看次数

用于循环和多个条件

在C++中,可以说:

for (int i = 0; i < 100 && !found; i++) {
  if (items[i] == "the one I'm looking for")
    found = true;
}
Run Code Online (Sandbox Code Playgroud)

所以你不需要使用"break"语句.

在Python中,我想你需要写:

found = False

for item in items:
    if item == "the one I'm looking for"
        found = True
        break
Run Code Online (Sandbox Code Playgroud)

我知道我可以编写一个具有相同代码的生成器,所以我可以隐藏这个破坏的东西.但我想知道是否有任何其他方法可以实现相同的功能(具有相同的性能),而无需使用额外的变量或while循环.

我知道我们可以说:

found = "the one I'm looking for" in items
Run Code Online (Sandbox Code Playgroud)

我只是想了解是否可以在for循环中使用多个条件.

谢谢.

python loops conditional-statements

8
推荐指数
1
解决办法
2万
查看次数

我的自定义控制器中的Null ControllerContext继承自BaseController

我构建了自己的继承自的Controller类BaseController.但是 ControllerContext构造函数是"null".我应该在哪里指定ControllerContext

asp.net-mvc

7
推荐指数
1
解决办法
6198
查看次数

.NET Html查看器/ Web浏览器控件备选方案

我目前在.NET中使用IE ActiveX(Web浏览器)控件在我的应用程序中显示HTML,但它非常缓慢(虚拟内存吃的负载),而且非常有限,我想用完全管理的方式来解决这个问题HTML查看器.

这是一个不同的请求C#(.NET)中是否有更好的Web浏览器控件?因为那是关于其他嵌入式浏览器(Firefox/Gecko).我不想嵌入浏览器,我想要一个妥善管理的控件.


更新(2011年4月13日):杰夫阿特伍德的这篇文章解释了部分推理,因为那些不清楚为什么这很重要/需要.

.net browser

7
推荐指数
1
解决办法
5647
查看次数

实体框架"无数据存在时读取的无效尝试"与Azure上的"大"数据

我正在使用Entity Framework(v4.0)连接到SQL Azure(我安装了March SDK),并InvalidOperationException在尝试查询表时获取.异常消息是Invalid attempt to read when no data is present.,并且堆栈跟踪清楚地显示,当它尝试获取列标题时,它在EF内部失败:

at System.Data.SqlClient.SqlDataReader.ReadColumnHeader(Int32 i) 
at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i) 
at lambda_method(Closure , Shaper ) 
at System.Data.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper) 
at System.Data.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext() 
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) 
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) 
at Service.LoadSettings() in C:\Service.svc.cs 
at SyncInvokeLoadSettings(Object , Object[] , Object[] ) 
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) 
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
Run Code Online (Sandbox Code Playgroud)

这特别与第二个表中的列中的数据有关(下例中的设置).如果我查询另一个表(如下面示例中的用户)或排除查询该列,则此工作完全正常.代码示例:

using (var db = new DBEntities()) 
{ 
    var users = (from u in db.Users 
                 where u.PK == userid 
                 select u).ToList(); …
Run Code Online (Sandbox Code Playgroud)

.net entity-framework azure-sql-database

7
推荐指数
1
解决办法
3501
查看次数

为什么IF和条件运算符之间的IL有这么大差异?

C#有一个条件运算符和IF语句,我怀疑条件运算符只是语法糖.因此在编译时它将与IF操作相同.

然而,他们没有(见下文),他们确实有不同的IL.试图绕过它,我的假设是,这是条件运算符得到的性能优化,因为它的范围有限.

想知道我的假设是否正确,也许还有更多内容?

同样在IF的IL中,有一些关于int值的检查(L_000c,L_000d,L_000f),我无法弄清楚其含义.这使我认为这是一个更强大的解决方案,因为IF的范围更广,代价是性能.


IF代码

var result = "";
if (Environment.Is64BitOperatingSystem)
{
    result = "Yes";
}
else
{
    result = "No";
}
Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)

条件运算符的代码(我意识到差异,但无论我如何改变它 - 分配给变量等......它几乎没有区别)

Console.WriteLine("Is the OS x64? {0}", Environment.Is64BitOperatingSystem ? "Yes" : "No");
Run Code Online (Sandbox Code Playgroud)

IL为IF

L_0001: ldstr ""
L_0006: stloc.0 
L_0007: call bool [mscorlib]System.Environment::get_Is64BitOperatingSystem()
L_000c: ldc.i4.0 
L_000d: ceq 
L_000f: stloc.2 
L_0010: ldloc.2 
L_0011: brtrue.s L_001d
L_0013: nop 
L_0014: ldstr "Yes"
L_0019: stloc.0 
L_001a: nop 
L_001b: br.s L_0025
L_001d: nop 
L_001e: ldstr "No"
L_0023: stloc.0 
L_0024: nop …
Run Code Online (Sandbox Code Playgroud)

c# il

7
推荐指数
1
解决办法
219
查看次数

单元测试未出现

我在Windows 8 Release Preview上使用Visual Studio Express 2012,我似乎无法让我的单元测试出现在测试资源管理器中.

我有一个名为TestApp.Entity的类,以及TestApp.EntityTest ...

这是我的代码:

namespace TestApp.Entity.Test
{
    using System;
    using System.Net.Http;
    using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
    using TestApp.Domain;

    [TestClass]
    public class EntityTests
    {
        [TestMethod]
        public async void TestObject1Deserialize()
        {
            Uri agencyUri = new Uri("*removed*");
            HttpClient httpClient = new HttpClient();
            HttpResponseMessage response = await httpClient.GetAsync(agencyUri);

            string responseBodyAsText = await response.Content.ReadAsStringAsync();
            List<Agency> agencyList = Deserializers.AgencyDeserialize(responseBodyAsText);

            CollectionAssert.Contains(agencyList, new Agency() { Tag = "*removed*", Title = "*removed*", ShortTitle = "", RegionTitle = "*removed*" });
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这就是我需要做的全部,但它们仍未出现在测试资源管理器中.任何意见将是有益的.

unit-testing visual-studio-2012 windows-store-apps

7
推荐指数
1
解决办法
7205
查看次数

使用ADSI设置"作为服务登录"和"允许本地登录"

我正在尝试创建一个powershell脚本来自动创建用户,这使用ADSI工作得很好.但是,我需要设置以下属性,我不知道如何(或ADSI甚至可以这样做):

  • 以服务身份登录
  • 允许本地登录

任何想法如何做到这一点?

powershell adsi

6
推荐指数
1
解决办法
1万
查看次数

如何判断某个类是否特定于WSS或MOSS?

如何判断SharePoint类是否特定于WSS或MOSS?

例如,我可以仅在MOSS中使用SPAudit类吗?

c# sharepoint moss wss

6
推荐指数
1
解决办法
220
查看次数

Visual Studio和C#的竞争对手

我们正在开发一个开源和免费的大型数据库驱动的Web应用程序.对于这个项目,我们已经选择PostgreSQL作为数据库平台并启动了数据库工作.

我们已经使用了一段时间的微软技术,并且在一个盒子里集成了很多东西.使用Visual Studio,它很容易让它工作.

对于我们的新项目,我们不希望我们的客户被迫支付Windows Server许可证,因此正在寻找一种新的技术,类似的ASP.NET(可能更好或更差),可以在客户端站点上实现免许可证部署.

除了Web技术要求之外,我们理想地喜欢具有Web技术的IDE,它提供IDE与OS和服务器(Web服务器,调试器等等)之间的集成,就像Visual Studio一样.IDE可以是商业的或免费的.

理想情况下,我们希望保持ASP.NET并同时"免费".

由于Oracle威胁,我们没有考虑项目的"Java".我们也考虑过Mono,但害怕在生产环境中使用它.

asp.net ide open-source

6
推荐指数
2
解决办法
1543
查看次数