我目前正在使用相同的C#DTO将数据从CouchDB中提取出来,通过LoveSeat,我将通过ASP MVC控制器返回JSON.
我正在使用NewtonSoft库来扫描我的DTO,然后通过控制器发送它们.
但是,由于CouchDB也使用NewtonSoft,因此它也尊重属性级别的NewtonSoft属性
[JsonIgnore]
[JsonProperty("foo")]
Run Code Online (Sandbox Code Playgroud)
有没有告诉newtonsoft库明确忽略这些属性?LoveSeat允许我提供我自己的IObjectSerializer,它让我可以完全控制netwonsofts JsonSerializerSettings.那么,通过这些设置我可以忽略这些属性吗?
我问,作为唯一的选择,我现在可以看到的是欺骗我的DTO.虽然并不可怕,但并不是很好.
我能看到的唯一另一种方法是将我自己版本的Newtonsoft.Json源码引入我的项目,使用不同的程序集名称等等.但这种方式疯狂绝对是谎言,我会在我离开之前欺骗DTO路.
我试图在Silverlight 4中编写可测试的ViewModel.我正在使用MVVM灯.
我正在使用AutoFac和IoCContainer正在完成它的工作.但是要注入ViewModel的构造函数,它绑定到Views我有这个构造函数链接:
public UserViewModel() : this(IoCContainer.Resolve<IUserServiceAsync>())
{
}
public UserViewModel(IUserServiceAsync userService)
{
if (this.IsInDesignMode) return;
_userService = userService;
}
Run Code Online (Sandbox Code Playgroud)
哪个不干净,但是到目前为止我找到的最佳选择.这是有效的,我的应用程序可以根据需要工作,并且可以通过控制倒置来测试
但是,我的VM绑定到我的视图,如下所示:
<UserControl.DataContext>
<ViewModel:UserViewModel />
</UserControl.DataContext>
Run Code Online (Sandbox Code Playgroud)
在我的XAML页面属性中,VS2010和Blend中的设计模式都不起作用.
是否有更好的方法来实现我在Silverlight中尝试仍然适用于设计模式的东西?丢失设计模式不是一个交易破坏者,但在学习XAML时会很方便.一个更干净的无链接方式会很好!
我认为可以使用AutoFac/IoC将视图模型解析为视图,与上面的XAML标记方法一致,并沿着这条路线走下去?
谢谢.
我慢慢钻研Silverlight,经过一段时间的尝试,我终于能够将自己的自定义对象从我的网站返回到我的silverlight客户端,使用支持Siverlight的WCF服务.
现在,我在域服务和WCF服务的差异之间有点不知所措.
我已经完成了教程,其中域服务绑定到数据上下文,然后绑定到siliverlight控件.太棒了:)然而,我在哪里打了一块石头试图回报任何酒吧IQuerryable; 作为String,我自己的简单类型等.
我找到了一些教程,例如这个教程用[ServiceContract]注释标记一个函数,并在你的简单类中有一个[Key].这没有用,[ServiceContract]无法解析,我后来找到了一个指导说使用[Invoke].然后我遇到了无法加载函数并得到结果的问题,我基本上都去了这里
[Invoke]
public string HelloWorld(string name)
{
return string.Format("Hello {0}.", name);
}
var helloWorld = new HelloWorldDomainContext();
//helloWorld.HelloWorldCompleted += new EventHandler<InvokeEventArgs<string>>(HelloWorldHelloWorldCompleted);
//helloWorld.HelloWorld("Mark Monster");
Run Code Online (Sandbox Code Playgroud)
无论如何,我随后发现了启用了Silverlight的WCF服务,并且能够返回我自己的自定义对象并将其称为罚款.
tl; dr - 域服务是否仅在绑定到Silverlight控件时使用?即它是一种直接的单向绑定,并且在需要时被调用,并且我在服务器上进行所有与Linq相关的排序/过滤/选择?
并且假设我想返回一个xmlString,然后我使用WCF服务?我是否适合在我的应用程序中使用WCF服务和域服务?
对不起,如果上面有点混乱!只是试图掌握这一切来自ASP.NET/Flex
非常感谢.
所以我正在使用Umbraco 6.12并且很难测试一个RenderMvcController.
我已经IApplicationEventHandler在我Global.ascx和Ninject中实现了正常运行并且正如预期的那样运行应用程序 - 一切都很好.
但是,对这些控制器进行单元测试是另一回事.我发现了这个,并添加了最新的回复:
http://issues.umbraco.org/issue/U4-1717
我现在在我的SetUp中有这个可爱的黑客:
Umbraco.Web.UmbracoContext.EnsureContext(new HttpContextWrapper(new HttpContext(new HttpRequest("", "http://www.myserver.com", ""), new HttpResponse(null))), ApplicationContext.Current);
Run Code Online (Sandbox Code Playgroud)
哪个已经绕过原来UmbracoContext不能为空,但现在抛出:
当前尚未在Umbraco.Web.PublishedCache.PublishedCachesResolver上初始化.您必须在尝试读取之前初始化Current.
已发布的缓存解析器似乎也隐藏在内部和受保护的东西之后,我无法使用反射来破解,因为我无法初始化SetProperty反射.
这真的令人沮丧,我喜欢v6,使用uMapper非常好.我可以随意将一个回购,服务,命令或查询注入控制器,生活很美好 - 我无法覆盖控制器!
任何有关这方面的帮助将不胜感激.
谢谢.
嗨所有我在这里挣扎一点使用COLLATE忽略重音同时也使用包含全文.
我已经减少了列,我只搜索一个这里的例子,并且我很难编码实际参数只是为了这个直到我理解它.
如果我有
SELECT
Col1,
Title COLLATE SQL_Latin1_General_Cp850_CI_AI AS Title,
ColX
FROM
Foo
WHERE
CONTAINS((Title), '"suenos" OR "french"')
Run Code Online (Sandbox Code Playgroud)
这只会返回法语结果.如果我添加外卡后,例如:
WHERE
CONTAINS((Title), '"suenos*" OR "french"')
Run Code Online (Sandbox Code Playgroud)
我得到了Sueños和法语的结果.我注意到了LIKE和COLLATE的相同行为,例如它只有'suenous%'的词与'suenos'相对应.
为什么是这样?
非常感谢.
我对Linq很新,并且在多对多的关系中努力使用动态.
数据库表是这样的:
产品< - > Products_SubCategories < - >子类别
与Products_SubCategories链接表.
我的完整linq声明是
db.Products.Where("it.SubCategories.SubCategoryID = 2")
.Include("SubCategories")
.OrderBy(searchOrderBy)
.Skip(currentPage * pageSize)
.Take(pageSize)
.ToList()
.ForEach(p => AddResultItem(items, p));
Run Code Online (Sandbox Code Playgroud)
所以忽略了一切,Where()我只是试图提取所有链接到子类别ID 2的产品,这就失败了
要从集合中提取属性,必须使用子查询迭代集合.,靠近多部分标识符,第8行,第1列.
我认为使用SQL-esque语法我可以根据此链接执行子查询.但是我不确定如何在lambda/chaining语法中这样做.
这是搜索功能的开始,我想动态地建立where字符串,因为我有searchOrderBy字符串以避免大SELECT CASE.产品通过链接表链接到另一个表,一旦我了解如何执行此示例,我将需要包含该链接表.
任何帮助将非常感激!
谢谢
我正在尝试将无序列表的列表项中的第一个和最后一个锚定位:
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">LINK</a></li>
<li><a href="#">LINK</a></li>
<li><a href="#">LINK</a></li>
<li><a href="#">LINK</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我试过了:
.menu ul .last a {}
.menu ul.last a {}
.menu ul li .last a {}
.menu ul li.last a {}
Run Code Online (Sandbox Code Playgroud)
我需要定位锚点,因为我需要删除第一个和最后一个锚点的边框.我不能使用(或者至少我认为我不能)边框<li>,因为它需要一些垂直填充,因此分隔符边框不是垂直齐平的.
c# ×4
silverlight ×2
asp.net-mvc ×1
couchdb ×1
css ×1
html ×1
json.net ×1
lambda ×1
linq ×1
mvvm-light ×1
sql ×1
sql-server ×1
umbraco ×1
unit-testing ×1