我喜欢Google Web Tookit API方法.它在幕后使用Java语言,只编译目标浏览器所需的JavaScript代码.有些开发人员希望在纯JavaScript语言中使用该功能.
Anwser:为了满足这一要求,我们可以提出什么建议?
我建议使用JavaScript注释(作为标志)作为某种编译器(如Yahoo JavaScript编译器)分析我们的应用程序JavaScript代码并仅生成所需的JavaScript框架代码的方式.
示例:假设的JavaScript框架(JQuery,Mootools,Prototype等)代码
// depends function say
funcion sayHello() {
// some code
}
function say() {
// some code
}
// more and more no needed Javascript framework functions in our app
Run Code Online (Sandbox Code Playgroud)
因此,当我的应用程序使用函数sayHello时,只有sayHello函数及其依赖项将通过JavaScript注释进行过滤,没有别的.因此,通过仅使用所需的JavaScript Framework代码,我们的应用程序将更轻松.
而你:你有什么建议?
我有一个WPF UserControl,我想将依赖项注入其中.使用Ninject做到这一点的最佳方法是什么?
举一个具体的例子:我有一个名为MapView的UserControl,我想通过构造函数或属性注入将IDialogueService的实例注入其中.目前,我没有使用任何依赖注入,我的控件是在XAML中创建的:
<Window x:Class="GameWindow" ...>
<Grid Name="root">
<MapView x:Name="mapView" ... />
<!-- other stuff here -->
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
创建IKernel并绑定IDialogueService非常简单.但我坚持如何使用内核将依赖注入到我的MapView中.我仍然是Ninject的一个新手,所以也许有一些我很想念的东西.
我可以想到几种方法来解决这个问题:
在代码中实例化MapView.<MapView ... />从XAML中删除,然后将其添加到GameWindow的构造函数中:
public GameWindow(IKernel kernel) {
root.Children.Add(kernel.Get<MapView>());
}
Run Code Online (Sandbox Code Playgroud)
缺点:不使用XAML会带来额外的复杂性; GameWindow依赖于IKernel.
保持XAML中的实例化,并使用属性注入:
public GameWindow(IKernel kernel) {
kernel.Inject(mapView);
}
Run Code Online (Sandbox Code Playgroud)
缺点:Ninject文档说Inject()"不应该用于大多数情况",所以我甚至不知道它是否符合我的想法,或者在这里使用它是否有意义.并且GameWindow仍然依赖于IKernel.
向GameWindow添加可注入参数/属性,将值传递给MapView(可能通过MapView上的属性),然后使用Get<GameWindow>().缺点:现在我手动传递依赖关系,这就是DI框架应该为我自动化.
在实例化GameWindow之后,遍历逻辑树并在所有内容上调用IKernel.Inject().缺点:再次,我不知道Inject()是否符合我的想法,或者它是否合适.调用者必须记住在实例化GameWindow之后执行walk-the-visual-tree-and-stuff.
有一个更好的方法吗?也许Ninject的WPF扩展允许我做一个Get<GameWindow>(),并为我自动遍历逻辑树(如#4),对所有内容进行属性注入?如果不存在这样的事情,我可以写出来吗?
你们如何在WPF中使用Ninject?你是否使用上述任何一种方法(如果是这样,你可以分享我不知道的情况)吗?你有更好的方法吗?
我的公司将在不久的将来在这个(大型!)ASP.NET应用程序上"破土动工".我们目前正处于设计阶段,过去开发的大部分ASP.NET应用程序都相对较小 - 不到几十页,还有一到两个开发人员.
任何人都可以指出任何资源,无论是在线还是其他,包括某些类型的最佳实践或大型ASP.NET应用程序的常见架构?
干杯,布拉德
这将是我的第一个带有表单身份验证的ASP.NET MVC应用程序,所以我试图确保我不会错过任何东西.场景是这样的:公共/安全区域.
在私人区域内,它甚至进一步限于特定区域/用户.这些"区域"由对每个用户组自定义的基本区域的自定义定义.
例如,用户可以访问url /Area/Controller/Action.他们需要获得安全区域的许可,否则他们将被重定向到登录视图.
我一直在阅读AuthorizeAttribute但我不确定我应该如何/在哪里进行这些基本检查.我最初的预感是在用户的IP成功登录以及他们有权访问的内容等详细信息后,在会话中存储用户对象.
每个安全控制器调用的授权检查将验证会话中是否存在有效用户对象,IP仍然匹配,并且用户可以访问特定区域.这个设置有没有明显的漏洞?
编辑:在哪里/如何实现这些检查,以便当控制器被[授权]标记时,它将执行那些会话对象检查?
任何指针或建议将不胜感激.谢谢.
使用vim,expandtabs如果我在行的任何文本的左边,如果我在任何非空白字符的右边,我想有效地离开.(我想使用标签来缩进和空格以便对齐.)
可以这样做吗?
在C#中我有以下对象:
public class Item
{ }
public class Task<T>
{ }
public class TaskA<T> : Task<T>
{ }
public class TaskB<T> : Task<T>
{ }
Run Code Online (Sandbox Code Playgroud)
我想使用C#reflection(Activator.CreateInstance)动态创建TaskA或TaskB .但是我不知道手头的类型,所以我需要动态创建基于字符串的TaskA,如"namespace.TaskA"或"namespace.TaskAB".
ListBox除此之外,我的描述领域可能很长.我没有水平滚动条,而是想用自动换行.如果我设置了它,MaxWidth但由于ListBox更改大小,我不想硬编码值.
最好的方法是什么?
编辑:描述在一个TextBlock.
简化的XAML(删除了无关紧要的东西,仍然显示问题:
<ListBox BorderThickness="0" Padding="5" Name="lstTasks">
<ListBox.ItemsSource>
<Binding Source="{StaticResource dataTasks}"/>
</ListBox.ItemsSource>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Path=RequestDescription}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Height="60" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud) MS Dynamics CRM 4.0中的Article实体似乎不可自定义.有没有办法在视图中添加一些列来显示文章列表(不进行高级查找)?我想在那里看到Created By和Created On属性.
我怀疑我缺少一些基本但至关重要的东西,但是由于这个原因,我的XPath导航器始终返回根目录。
我有一些这样的XML数据:
<?xml version="1.0" encoding="utf-8" ?>
<language>
<header>
<about>about</about>
<faqs>faqs</faqs>
<feedback>feedback</feedback>
<submitblog>submit a blog</submitblog>
<advertise>advertise</advertise>
</header>
</language>
Run Code Online (Sandbox Code Playgroud)
我有一个用文档初始化的XPathNavigator。我这样称呼它:
XPathNodeIterator iterator = (XPathNodeIterator)xNav.Evaluate("language/header/about");
return iterator.Current.Value;
Run Code Online (Sandbox Code Playgroud)
它使我每次都获得根目录(看起来像这样:“ aboutfaqsfeedback提交博客广告”。)
我究竟做错了什么?教我
c# ×4
.net ×2
asp.net ×2
wpf ×2
activator ×1
alignment ×1
architecture ×1
asp.net-mvc ×1
dynamics-crm ×1
generics ×1
indentation ×1
iphone ×1
javascript ×1
listbox ×1
ninject ×1
objective-c ×1
options ×1
performance ×1
reflection ×1
security ×1
vim ×1
word-wrap ×1
xml ×1
xpath ×1