程序设计

专业和发烧友程序员的问答

9
使用Html.ActionLink在不同的控制器上调用动作
我正在尝试使用进行控制器之间的导航ActionLink。我将用一个例子来说明我的问题。 我在Hat控制器的索引视图上,并且尝试使用以下代码创建指向Product控制器的Details动作的链接。 <%= Html.ActionLink("Details", "Details", "Product", new { id=item.ID }) %> 代替在Product控制器上创建到Details的链接,而是在Hat控制器下生成到Details动作的链接,并在其末尾附加一个Length参数: Hat/Details/9?Length=7 HTML.ActionLink由于这个问题,我无法使用控制器之间进行切换。如果您能指出我在做什么,我将不胜感激。谢谢 PS:我使用的是MVC随附的默认路由设置 routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" } );
224 asp.net-mvc 

10
如何在SQL Server中还原到其他数据库?
我有一个星期前的Database1备份。备份每周在调度程序中完成,我得到一个.bak文件。现在,我想弄弄一些数据,因此需要将其还原到另一个数据库Database2中。 我已经看到了这个问题:在同一台PC中使用不同的名称还原SQL Server数据库,建议的步骤是重命名原始db,但是由于我不在生产服务器中,因此无法使用该选项,并且我不能真正做到这一点。 还有其他方法可以还原它Database2,或者至少如何浏览该.bak文件的数据吗? 谢谢。 ps:上面链接的第二个答案看起来很有希望,但它总是以错误终止: 还原文件列表异常终止


7
使自定义.NET Exception可序列化的正确方法是什么?
更具体地说,当异常包含自定义对象时,自定义对象本身可以序列化也可以不序列化。 举个例子: public class MyException : Exception { private readonly string resourceName; private readonly IList<string> validationErrors; public MyException(string resourceName, IList<string> validationErrors) { this.resourceName = resourceName; this.validationErrors = validationErrors; } public string ResourceName { get { return this.resourceName; } } public IList<string> ValidationErrors { get { return this.validationErrors; } } } …


15
PHP接口的意义是什么?
接口允许您创建定义实现它的类的方法的代码。但是,您不能向这些方法添加任何代码。 抽象类使您可以做同样的事情,并向方法中添加代码。 现在,如果您可以使用抽象类实现相同的目标,那么为什么我们甚至需要接口的概念? 有人告诉我,它与从C ++到Java的OO理论有关,这是PHP的OO东西所基于的。这个概念在Java中有用但在PHP中没有用吗?这只是一种避免在抽象类中乱扔占位符的方法吗?我想念什么吗?
224 php  oop  interface  theory 



17
在函数式编程中,什么是函子?
在阅读有关函数式编程的各种文章时,我遇到过几次“ Functor”一词,但是作者通常认为读者已经理解了该词。在网上四处浏览时,要么提供了过多的技术说明(请参阅Wikipedia文章),要么提供了令人难以置信的模糊说明(请参阅此ocaml-tutorial网站上有关Functors的部分)。 有人可以友好地定义该术语,解释其用法,还可以提供一个有关如何创建和使用Functor的示例吗? 编辑:尽管我对术语背后的理论感兴趣,但对理论的兴趣不如对概念的实现和实际使用感兴趣。 编辑2:似乎正在进行一些跨终端操作:我专门指的是函数编程的Functors,而不是C ++的函数对象。

8
SecureString在C#应用程序中是否可行?
如果我的假设在这里错误,请随时纠正我,但是让我解释为什么我要问。 取自MSDN,是SecureString: 表示应保密的文本。文本在使用时经过加密以确保隐私,在不再需要时从计算机内存中删除。 我明白了,将密码或其他私人信息存储在SecureString上方是完全有意义的System.String,因为您可以控制将密码和其他私人信息实际存储在内存中的方式和时间,因为System.String: 既是不可变的,并且在不再需要时不能以编程方式安排进行垃圾回收;也就是说,实例在创建后是只读的,无法预测何时将实例从计算机内存中删除。因此,如果String对象包含敏感信息,例如密码,信用卡号或个人数据,则使用该信息后可能会泄露该信息,因为您的应用程序无法从计算机内存中删除数据。 但是,对于GUI应用程序(例如ssh客户端),SecureString 必须从构建 System.String。所有的文本控件都使用字符串作为其基础数据类型。 因此,这意味着即使用户使用密码掩码,每次用户按下一个键时,旧的字符串都会被丢弃,而新的字符串将被构建以表示文本框内的值。而且我们无法控制何时或是否从内存中丢弃这些值中的任何一个。 现在该登录服务器了。你猜怎么了?您需要在连接上传递字符串以进行身份​​验证。因此,让我们将其SecureString转换为System.String....现在堆上有一个字符串,无法强制其通过垃圾回收(或将0写入其缓冲区)。 我的观点是:无论您做什么,SecureString都将被转换为System.String,这意味着它至少会在某个时刻存在于堆中(不保证任何垃圾回收)。 我的意思不是:是否有某种方法可以绕过向ssh连接发送字符串,或者可以避免使控件存储字符串(创建自定义控件)。对于这个问题,您可以将“ ssh连接”替换为“登录表格”,“注册表格”,“付款表格”,“您要喂养的食物,而不是您的孩子的食物”,等等 那么,在什么时候使用SecureString实际可行呢? 完全消除System.String对象的使用是否值得花费额外的开发时间? SecureString仅仅是为了减少a System.String在堆上的时间(降低其移至物理交换文件的风险)的全部意义? 如果攻击者已经具有检查堆的方法,那么他很可能要么(A)已经具有读取击键的方法,要么(B)已经物理上拥有了机器 ……因此可以使用SecureString防止他进入的方法。反正数据? 这仅仅是“默默无闻的安全”吗? 抱歉,如果我把问题放在太深的地方,好奇心会变得更好。随时回答我的任何或所有问题(或告诉我我的假设完全错误)。:)
224 c#  security 

6
客户端-服务器同步模式/算法?
我感觉那里一定有客户端-服务器同步模式。但是我完全无法用谷歌搜索一个。 情况非常简单-服务器是中心节点,多个客户端连接到该节点并处理相同的数据。可以将数据拆分为原子,如果发生冲突,则服务器上的任何内容都具有优先级(以避免使用户陷入冲突的解决)。由于可能存在大量数据,因此首选部分同步。 对于这种情况,是否有任何模式/良好做法,或者如果您不了解,则将采取什么方法? 下面是我现在想解决的想法:与数据并行,将保存修改日记帐,并为所有交易加上时间戳。客户端连接后,它将以合并的形式接收自上次检查以来的所有更改(服务器遍历列表并删除添加的内容,然后进行删除,合并每个原子的更新等)。瞧,我们是最新的。 另一种方法是保留每个记录的修改日期,而不是执行数据删除,而只需将它们标记为已删除。 有什么想法吗?

3
带有用户单击所选组件的动态选项卡
我正在尝试设置一个选项卡系统,允许组件注册自己(带有标题)。第一个选项卡就像一个收件箱,有很多操作/链接项可供用户选择,并且这些单击中的每一个都应能够在单击时实例化一个新组件。操作/链接来自JSON。 然后,实例化的组件将自己注册为新选项卡。 我不确定这是否是“最佳”方法?到目前为止,我所见的唯一指南仅针对静态标签,这无济于事。 到目前为止,我只获得了tabs服务,该服务已在main中引导,可以在整个应用程序中持久保存。看起来像这样: export interface ITab { title: string; } @Injectable() export class TabsService { private tabs = new Set<ITab>(); addTab(title: string): ITab { let tab: ITab = { title }; this.tabs.add(tab); return tab; } removeTab(tab: ITab) { this.tabs.delete(tab); } } 问题: 我如何在收件箱中有一个动态列表来创建新的(不同的)标签?我有点猜测DynamicComponentBuilder会用到吗? 如何通过收件箱(单击)创建组件,将其自身注册为选项卡并显示出来?我在猜测ng-content,但找不到有关如何使用它的太多信息 编辑:试图澄清。 将收件箱视为邮件收件箱。项目以JSON格式获取,并显示多个项目。单击其中一项后,将创建一个带有该项操作“类型”的新标签。然后,该类型就是一个组件。 编辑2: 图片。

12
为什么我不能继承静态类?
我有几个不需要任何状态的类。从组织的角度来看,我想将它们分为层次结构。 但似乎我无法声明静态类的继承。 像这样: public static class Base { } public static class Inherited : Base { } 不管用。 语言的设计者为什么要关闭这种可能性?
224 c#  inheritance  static 

17
令人困惑的“重复标识符”打字稿错误消息
为什么会出现这种错误以及更多此类错误?我在下面添加了指向仓库的链接以及关键代码段。我认为我对依赖关系和“包含”链接的工作方式有一个基本的误解。 csvproc(master)> tsc node_modules/typescript/bin/lib.core.d.ts(83,5): error TS2300: Duplicate identifier 'configurable'. node_modules/typescript/bin/lib.core.d.ts(84,5): error TS2300: Duplicate identifier 'enumerable'. node_modules/typescript/bin/lib.core.d.ts(85,5): error TS2300: Duplicate identifier 'value'. node_modules/typescript/bin/lib.core.d.ts(86,5): error TS2300: Duplicate identifier 'writable'. 所有代码都可以在这里找到。 我的tsconfig.json: { "compilerOptions": { "module": "commonjs", "noImplicitAny": false, "outDir": "built/", "sourceMap": true, "target": "es5" } } 我的tsd.json: { "version": "v4", "repo": "borisyankov/DefinitelyTyped", …
224 typescript 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.