小编Joh*_*hnL的帖子

WCF数据服务 - 如何诊断请求错误?

我有一个应用程序,它将使用WCF向客户端提供各种数据块.但是,由于将返回的一些数据集的大小(这是因为客户端应用程序需要在列表中显示大量对象,而不是因为我在设计中只是懒惰)我达到邮件大小限制.

我对此有所期待,并计划实施数据分页/响应流(我相信Pablo Cibraro曾就此发表过一篇文章).但是,我看到一些使WCF数据服务看起来很酷的演示.我只是无法让它适合我.

我没有数据库后端,我不在IIS内部托管.我已经能够得到一些基本对象的例子,但是一旦我从我的应用程序中插入对象,它就不起作用 - 我得到一个请求错误,这似乎是无益的 - 它只是建议检查服务器日志而不建议我如何做到这一点.我怀疑它假设我正在使用IIS托管,IIS可能会记录它承载的数据服务的消息.

我尝试使用的一个相当简单的类是用于日志消息(我希望诊断仪表板式客户端能够远程显示服务器日志,比如说,过去24小时):

public class Message
{
    public string Source { get; set; }
    public MessageType Type { get; set; }
    public DateTime Timestamp { get; set; }
    public string MessageText { get; set; }
    public override string ToString()
    {
        return string.Format("[{0}] [{1}] [{2}] {3}", Timestamp.ToString(), Source, Type, MessageText);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用这个类会产生错误,而如果我将它指向一个类,我将其模拟为测试(如Pablo的演示:http://msdn.microsoft.com/en-us/data/cc745968.aspx)然后它工作良好.有关为什么会这样做的任何想法,或者我如何从错误中获得有用的东西?

下面是我的服务定义和我用来公开我想要返回的集合的IQueryable <>实现的类(目前我只完成了Log,这是类型List<Message>)

public class DataServiceFacade
{
    public IQueryable<Message> Log
    {
        get
        {
            return Program.Log.AsQueryable();
        }
    } …
Run Code Online (Sandbox Code Playgroud)

wcf wcf-data-services

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

为多个版本的Visual Studio开发Visual Studio插件

我已经被赋予了为Visual Studio开发一些扩展以供内部使用的任务.这些将不得不支持几个不同版本的Visual Studio(VS2008,2010和2012 - VS2005将是一个很好的但不是必不可少的).我希望以尽可能一致的方式开发这些代码,尽可能多地重用代码,同时将其适用于这些工具的现有项目结构,即Visual Studio 2012 .sln.

开发此类扩展的最佳/最简单方法是什么?一个VSPackage项目?我可以制作一个在VS2012中开发的兼容2008的VSPackage吗?

我目前正在编写的扩展所需的功能非常基本 - 我需要创建工具菜单命令,可能是自定义工具窗口.我的要求可能会在以后改变,但我现在不需要编辑装饰或类似的东西.

我看到这个问题似乎是重复的,但接受的答案并没有回答这个问题,所以...

visual-studio-addins visual-studio

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

在这个例子中,`in`关键字的含义是什么(F#)

我一直试图了解F#的各个部分(我来自更多的C#背景),解析器对我很感兴趣,所以我跳过关于F#解析器组合器的博客文章:

http://santialbo.com/blog/2013/03/24/introduction-to-parser-combinators

其中一个样本是:

/// If the stream starts with c, returns Success, otherwise returns Failure
let CharParser (c: char) : Parser<char> =
    let p stream =
        match stream with
        | x::xs when x = c -> Success(x, xs)
        | _ -> Failure
    in p               //what does this mean?
Run Code Online (Sandbox Code Playgroud)

但是,这个代码让我感到困惑的一件事就是in p声明.我in在MSDN文档中查找了关键字:

http://msdn.microsoft.com/en-us/library/dd233249.aspx

我也发现了这个早先的问题:

F#中关键字"in"的含义

这些似乎都没有相同的用法.唯一合适的是这是一个流水线构造.

f# keyword

3
推荐指数
2
解决办法
201
查看次数