问题列表 - 第9740页

什么是抽象与不稳定图?

我最近使用了NDepend,它为我的.net程序集和相关的pdbs提供了一个很好的报告.

我在报告中发现的最有趣的事情是抽象性与不稳定性图.我想要真正详细地理解这一点,我阅读他们的文档和在线metrices,但它只能在一定程度上有所帮助.

主要是我希望了解如何正确评估图形以及如何稳定地控制抽象性.

这里有一篇非常好的文章这个问题进行了讨论,但除此之外我还需要更多的内容是"如何控制它?[稳定控制抽象]'

替代文字

architecture ooad ndepend code-metrics

22
推荐指数
1
解决办法
5576
查看次数

使用WPF(需要STAThread)和不能与STAThread一起使用的API

我正在编写一个WPF应用程序,它具有对具有简单要求的API的可选依赖性; 它必须在没有STAThread属性的线程上初始化/使用.当然,WPF需要STA才能让一切变得简单.

在这种情况下,无论如何都需要WPF.仅当用户选择在应用程序中启用此功能时,才需要此第三方API.这意味着一旦调用其他API,WPF应用程序就已经在运行.

如果你没有使用[STAThread]装饰主方法,它是否自动成为MTA线程?在这种情况下,这是否意味着我可以创建一个新的MTA线程并使用其他API?

如果这样可行,那么我猜这个API中的任何事件都可以使用Dispatcher与WPF应用程序通信(用于引发需要在UI中显示的事件等).但是,有一种简单的方法可以让我的WPF应用程序在MTA线程上"调用"功能来进行API调用吗?

在MTA中我猜每个线程应该能够使用状态,但我想我的STA线程(WPF应用程序)不能只是"进入"MTA线程并执行API调用?

这里有很多混淆的可能性,我会喜欢关于如何设计这样的东西的一些输入!

谢谢!

[编辑7月8日]

哦,我在上面有一些概念混淆了.线程模型当然是为PROCESS而不是为每个线程设置的,并且该第三方API不能与STA进程一起使用.

目前,我看到这个混乱的唯一方法是编写一个与此API通信的服务,然后使用命名管道与此服务进行通信.这根本不是一件小事,一个丑陋丑陋的解决方法,但第三方API不在我的控制之下.这就是人生.:|

.net wpf multithreading

4
推荐指数
1
解决办法
5127
查看次数

ViewModel将其自身注入其子ViewModel是否正确?

我创建了一个MVVM测试应用程序,它在运行时读取XML文件以动态创建菜单,并根据用户选择的内容,动态加载该页面的UserControl.结果是一个很好的MVVM模式,允许您在XML文件中定义每页一个View/ViewModel对.非常好.

所以现在我只是添加了开发人员在一个页面上创建一个按钮的功能,该按钮可以转到另一个页面.我这样做的方法是在MainViewModel中构建ObservableCollection中的ViewModel集合,当我构建每个时,我将MainViewModel本身(this)注入每个UserControl-ViewModel的构造函数中.这样每个UserControl都包含MainViewModel,以便开发人员可以通过MainViewModel操作应用程序(例如调用SwitchPage(idCode)).

此外,我需要保存的任何全局状态都可以保存在每个UserControl都可以访问的MainViewModel中.

此外,每个UserControl(PageItem)都可以完全访问其他每个UserControl,这使我可以从任何UserControl基本上控制应用程序中的任何内容,这是我一直试图在MVVM应用程序中实现的很长一段时间.

所以我的问题是:这种ViewModel注入是一种有用/已知的模式,还是将ViewModel注入其子ViewModel时会出现问题?它似乎递归我,但似乎工作正常,并给了我迄今为止我想要的功能.根据我从Composite Application Library体系结构中学到的东西,这似乎与那里发生的事情类似,例如在下面的代码中,我可以根据需要将其他应用程序对象注入到我的ViewModel中.

public MainViewModel()
{

    PageItems pageItems = PageItems.Create("all");

    foreach (PageItem pageItem in pageItems.Collection)
    {
        string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
        string viewModelName = assemblyName + ".ViewModels.PageItem" + StringHelpers.ForcePascalNotation(pageItem.IdCode) + "ViewModel";
        var type = Type.GetType(viewModelName);
        var viewModel = Activator.CreateInstance(type, this, pageItem) as ViewModelPageItemBase;
        AllPageItemViewModels.Add(viewModel);
    }

    CurrentPageItemViewModelIndex = 0;
    LoadCurrentPageItemViewModel();
}
Run Code Online (Sandbox Code Playgroud)

wpf mvvm application-design

0
推荐指数
1
解决办法
415
查看次数

模仿本地计算机上的Web服务器"缓慢"

有可能以某种方式模仿我的网站下载速度较慢,就好像它是托管在Web服务器上,但是来自我的localhost?

当内容从本地计算机加载得如此之快时,很难测试像Ajax加载图标这样的东西,所以我认为这可以帮助我很多?

我想知道是否有一个工具可以用于此,或者你是否需要使用javascript来添加setTimeout或setInterval代码?

hosting

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

'row_number'不是可识别的函数名称.关键字"AS"附近的语法不正确

我创建了一个带有SQL Server数据库的简单项目,该数据库包含许多表和大量索引,但没有什么真正复杂的.没有触发器,没有存储过程,没有额外的"数据库魔术".代码是用C#编写的,使用实体模型和动态数据站点来快速设置基础知识,因此一些键入的猴子可以投入工作并执行一些基本数据输入,同时我将修改项目以使其更加成熟.

在SQL Server 2005上测试过,一切正常.所以我通过Visual Studio进行了设置,并将其发送给键入Monkeys及其管理员.他们所要做的就是:1)创建一个新的数据库.2)执行数据库的Create脚本.3)安装我给他们的设置.4)修改连接字符串,它恰好放在特殊的配置文件中以方便使用.5)使用Web界面并在出现问题时通知我.

出了点问题.完整的错误:第1行:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

我的代码中没有使用'row_number'.我只是使用Linq进行查询.此外,由于实体模型,我甚至不必担心做任何SQL的东西.(尽管我很擅长.)

我的第一个猜测是他们使用了错误的连接字符串.他们可能正在SQL Server上安装这个应用程序(它应该仍然可以工作),但它们并没有完全改变连接字符串,现在我的项目认为它正在使用SQL Server 2005.(或者其他什么.)我是对的还是由于某些原因引起的其他讨厌的bug?

完整错误:

[SqlException(0x80131904):第1行:'('.''row_number'附近的语法不正确不是可识别的函数名.关键字'AS'附近的语法不正确.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection)+1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection)+4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData()+33 System.Data.SqlClient.SqlDataReader.get_MetaData()+83 System.Data.SqlClient.SqlCommand.FinishExecuteReader( SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)+954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)+162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior, Boolean returnStream,String method)+32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method)+141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)+12
System.Data.Common.DbCommand.ExecuteReader (CommandBehavior行为)+10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)+387

[EntityCommandExecutionException:执行命令定义时发生错误.有关详细信息,请参阅内部异常.]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)+423
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context,ObjectParameterCollection parameterValues)+743
System.Data. Objects.ObjectQuery 1.GetResults(Nullable1 forMergeOption)+157
System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal()+ 13 System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList()+ System.Web.UI.WebControls. …

c# dynamic-data-site entity-model

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

你如何在PHP中获得'referer'标题?

我想要一个请求的页面的URL.我怎么能用PHP做到这一点?

php http-headers

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

Scala的Actor框架可以处理10.000个没有堆栈问题的actor吗?

我想使用Scala Actor框架进行包含大约10.000个代理(机器和产品代理)的多代理模拟.

据我所知,如果有很多演员传递消息,它会因递归而耗尽堆栈吗?

如果是这样,我如何增加底层工作线程的堆栈大小?

concurrency scala actor

5
推荐指数
1
解决办法
1400
查看次数

我的Scala actor的属性应该标记为@volatile吗?

在Scala中,如果我有一个简单的类,如下所示:

val calc = actor {
  var sum = 0
  loop {
    react {
      case Add(n) => 
        sum += n
      case RequestSum =>
        sender ! sum
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的领域sum应该被标记@volatile吗?虽然actor在逻辑上单线程的(即消息是按顺序处理的),但各个反应可能发生在不同的线程上,因此state变量可能在一个线程上被改变,然后从另一个线程读取.

scala volatile thread-safety actor

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

Rails - 在视图中显示所有字段的简便方法

好吧,我确定我在这里遗漏了一些东西,但请原谅我,我是Rails的新手.

Rails中是否有某种方法可以显示对象的所有字段而不是指定每个字段?

在我的show.html模板而不是去

<p>Name: <%=h @user.full_name %></p>
<p>Email: <%=h @user.email %></p>
Run Code Online (Sandbox Code Playgroud)

我只想要一个oneliner来做这个,而不必输入我所拥有的15个左右的字段.它是一个管理页面,如果显示所有字段(id,created_at等),它很好.如果这是PHP,使用foreach需要大约5秒钟,但我用Google搜索(显然是错误的)一小时没有运气.

谢谢!

ruby-on-rails view

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

基本关键帧动画(旋转)

我正在尝试创建一个非常简单的关键帧动画,其中图形通过给定的中点从一个角度旋转到另一个角度.

(目的是能够通过大于180度的弧度的OBTUSE角度设置旋转动画,而不是使动画"作弊"并走向最短路径,即通过相反的ACUTE较小角度 - 这可能发生在只有一个[即目的地]关键帧.为了实现'长'的方式,我假设我需要在所需弧线的中途需要一个额外的关键帧.)

这是我到目前为止所获得的(通过最锐角将图形转换为所需的旋转):

#define DEGREES_TO_RADIANS(__ANGLE__) ((__ANGLE__) / 180.0 * M_PI)

...

[UIView beginAnimations:nil context:nil];
CGAffineTransform cgCTM = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(desiredEndingAngle));
[UIView setAnimationDuration:0.5];
graphic.transform = cgCTM;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

据我了解,我不是在寻找沿着Path的动画(因为那是翻译,而不是旋转)......

无论如何,任何帮助将非常感谢!提前致谢.

iphone core-animation

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