好吧,这可能是边缘主观的,但是我想知道在ASP.net MVC项目中放一个简单的类可以做什么?我的意思是像Base36 De/Encoder这样的类,既不是模型也不是控制器.这应该总是进入一个单独的类库程序集,还是这样的类在MVC Web应用程序项目中占有一席之地?
是的,我知道它可能并不重要,我可能有点过于谨慎从一开始就以"正确"的方式学习新技术.
我知道我不应该暴露一个List<T>属性,但我想知道这样做的正确方法是什么?例如,这样做:
public static class Class1
{
private readonly static List<string> _list;
public static IEnumerable<string> List
{
get
{
return _list;
//return _list.AsEnumerable<string>(); behaves the same
}
}
static Class1()
{
_list = new List<string>();
_list.Add("One");
_list.Add("Two");
_list.Add("Three");
}
}
Run Code Online (Sandbox Code Playgroud)
允许我的来电者简单地回到List<T>:
private void button1_Click(object sender, EventArgs e)
{
var test = Class1.List as List<string>;
test.Add("Four"); // This really modifies Class1._list, which is bad™
}
Run Code Online (Sandbox Code Playgroud)
所以,如果我想要一个真正不可变的List<T>,我总是要创建一个新的列表?例如,这似乎有效(测试在转换后为null):
public static IEnumerable<string> List
{
get
{
return new ReadOnlyCollection<string>(_list); …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个Outlook 2010插件,为功能区添加一个新选项卡.我发现如何通过将OfficeId设置为"TabMail"或内置的东西将我的组添加到现有选项卡,但我不想修改现有选项卡.
我现在已经将OfficeId设置为我自己的东西("TabMyAddin"),但它没有显示在Outlook中.我想知道我是否需要以某种方式告诉Outlook添加它并显示它,或者我将如何继续?
如果重要,RibbonType已更改为Microsoft.Outlook.Explorer.
Dual vs. Quadcore的讨论与Quadcores本身一样古老,答案通常是"它取决于你的场景".所以这里的场景是Web服务器(Windows 2003(不确定是x32还是x64),4 GB RAM,IIS,ASP.net 3.0).
我的印象是,Web服务器中的CPU不需要那么快,因为请求通常相当轻量级,因此当我们收到许多小请求时,拥有更多(更慢)的内核应该是更好的选择.
但由于我没有太多的IIS负载平衡经验,因为我不想花很多钱才发现我做出了错误的选择,有没有更多经验的人可以评论是否更慢或更少更快的核心更好?
我试图用C++来理解一些东西.基本上我有这个:
class SomeClass {
public:
SomeClass();
private:
int x;
};
SomeClass::SomeClass(){
x = 10;
}
int main() {
SomeClass sc;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我认为sc是SomeClass类型的未初始化变量,但是从各种教程我发现看起来这个声明实际上是一个调用SomeClass()构造函数的初始化,而我不需要调用"sc = new SomeClass();" 或类似的东西.
当我来自C#世界(并且知道一点C,但没有C++)时,我试图理解何时需要像new这样的东西以及什么时候发布这样的对象.我发现了一种名为RAll的模式似乎与此无关.
什么是这种类型的初始化调用,我怎么知道某些东西是仅仅是声明还是完全初始化?
我有这样的方法查询:
public IList<BusinessObject> GetBusinessObject(Guid? filterId)
{
using (var db = new L2SDataContext())
{
var result = from bo in db.BusinessObjects
where (filterId.HasValue)
? bo.Filter == filterId.value
: true
orderby bo.Name
select SqlModelConverters.ConvertBusinessObject(bo);
return result.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
在运行时,这会抛出一个 System.InvalidOperationException: Nullable object must have a value.
查看调试器,问题是我的Where子句:Linq To SQL尝试将整个事物转换为SQL,因此即使filterId为NULL,它仍将尝试访问filterId.value.
我认为/希望C#编译器/ CLR将where子句作为代码块进行评估,并且只将两个分支中的一个发送到Linq To SQL,但这不是它的工作原理.
我的重构版本有效,但不是很优雅:
public IList<BusinessObject> GetBusinessObject(Guid? filterId)
{
using (var db = new L2SDataContext())
{
var temp = from bo in db.BusinessObjects select bo;
if(filterId.HasValue) temp = temp.Where(t => t.Filter == …Run Code Online (Sandbox Code Playgroud) 我是Ruby和Rails的新手,我在Ruby 1.9.2上运行Rails 3.
我想创建一个模型,所以我查看了文档以获得我想要的表定义,但我想知道如何将它传递给rails generate model?
基本上我想要这个:
title :string, :null => false
details :text, :limit => 30000, :null => false
Run Code Online (Sandbox Code Playgroud)
但我只能指定列名和类型,而不是:null或:limit.
我试过rails model generate Article (title:string, :null => false) (details:text, :limit=>30000, :null => false)但只是告诉我(这是一个意想不到的标记.
如果我只生成带有title:string details:text的模型,那么article.rb文件是空的,大概是因为无论如何它都是从DB中读取的.
由于Rails中的所有内容都应该是a)简单和b)魔术,我想知道我是否只是缺少某些内容并且必须传递类似哈希的内容来生成模型?或者我是否真的必须手动编辑迁移.rb文件?
当我执行类似的查询时SELECT col1, col2, col3 FROM table,它会按主键升序排序.
我只是想知道是否有办法指定不同的列,比如ORDER BY CreatedDate DESC没有Order By子句?
我怀疑它(因为它会非常不直观,但无论如何只是想知道.
我有一个div通过一些聪明的JavaScript充当文本框.是的,那闻起来,但它的供应商代码我无法改变:(
在iPad上,键盘不显示,因为它不是文本字段.有没有办法强行打开键盘通过JavaScript,或者一些有关说明资料的Safari装饰HTML"是的,这的确是一个文本框,请相信我!"?
我有一个这样的弹簧控制器/ POJO:
@RequestMapping("/foo");
public class MyController {
@RequestMapping("/bar")
public String MyAction() { return someSharedFunc(false); }
@RequestMapping("/debug/ping");
public String MyDebugPing() { return someSharedFunc(true); }
private String someSharedFunc(boolean debug) {
if(debug) return "FooBar"; else return "Debug!";
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,MyDebugPing的URL是/foo/debug/ping.但是,我希望它/debug/ping有效地忽略了类上的RequestMapping.
那可能吗?
.net ×3
c# ×3
activerecord ×1
asp.net ×1
asp.net-mvc ×1
c++ ×1
hardware ×1
html ×1
iis ×1
ios ×1
ipad ×1
java ×1
javascript ×1
linq-to-sql ×1
outlook ×1
outlook-2010 ×1
spring ×1
spring-mvc ×1
sql-server ×1
t-sql ×1
vsto ×1
windows ×1