WCF – 无法解析符号 – 我做错了什么?

我正在开发一个REST WCF项目,当我实现以下代码时,它抱怨它无法解析WebGet类? 我错过了什么? 我尝试导入System.ServiceModel.Web命名空间,但即使我引用它也无法找到它。 System.ServiceModel.Web中的“Web”在我在代码顶部的using语句中注册时不会注册。 基本上,我需要什么来实现这样的WCF REST概念,如WebGet,WebInvoke,UriTemplate等? 更新:经过一些反馈并稍微考虑一下我做了什么,似乎当我去的时候,DLL(System.ServiceModel和System.ServiceModel.Web)没有通过’Add Reference’窗口出现添加项目参考。 当我第一次启动项目时,仅供参考,因为这些程序集最初没有出现,我去“搜索”它们,并将它们复制到临时文件夹,以便我可以引用它们,因此,我想我有解决问题。 那么,既然我现在已经到了这一步,我怎样才能让我的VS识别/注册这些WCF REST DLL? 谢谢! 更新:我相信我对所有内容都进行了更新:在VS 2008 SP1上开发 – 我尝试下载最新的SP,下载REST预览2入门套件,针对3.5 Framework进行开发,尝试最终创建WCF REST层由Silverlight 2客户端使用。 这就是我所拥有的: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; using UtilityClasses; using Microsoft.ServiceModel.Web; using Microsoft.Http; namespace WcfRestService { [ServiceContract] public interface IRestService { [OperationContract(Name = “Add”)] [WebGet(UriTemplate = “/”)] […]

LINQ indexOf特定条目

我有一个MVC3 C#.Net网络应用程序。 我有下面的字符串数组。 public static string[] HeaderNamesWbs = new[] { WBS_NUMBER, BOE_TITLE, SOW_DESCRIPTION, HARRIS_WIN_THEME, COST_BOGEY }; 我想在另一个循环中找到给定条目的索引。 我以为列表会有一个IndexOf。 我找不到它。 有任何想法吗?

在XAML中重用路径对象

我有一个Path(一个明星人物): 现在我想多次复制这个Path(只是参考“NiceStar”)。 我可以在纯XAML中执行此操作吗? 通过这样做,我可以使用它一次: 但是,我不能复制这一行。 我的编译器说: 指定的元素已经是另一个元素的逻辑子元素。 首先断开它。

延迟加载虚拟化列表框中的图像

我试图以异步方式为Listbox中的每个项目延迟加载缩略图。 由于列表框是虚拟化的,因此只有当项目位于显示端口或靠近显示端口时,才会调用Thumbnail属性的getter。 public BitmapSource Thumbnail { get { TriggerLoad(); return _thumbnail; } } 我正在等待在TriggerLoad函数中加载Thumbail的昂贵操作,但UI不是非常敏感,尤其是当您尝试快速滚动大型项目列表时。 private async void TriggerLoad() { if (!LoadTriggered) { LoadTriggered = true; var cacheItem = _cache[key] as CacheItem; if (cacheItem != null) await LoadBitmapFromCache(cacheItem); // returns a Task else await LoadBitmapFromService(Id); // returns a Task } } 在这里找到了类似的问题,但它不是关于将项目加载到列表框。 有没有更好的方法来延迟加载只绑定到Listbox的数据的一部分? 编辑:我尝试了PriorityBinding和IsAsync选项,滚动并不比我目前的解决方案更好。

一组超过2个整数的最大公约数

Stack Overflow上有几个问题讨论如何找到两个值的最大公约数。 一个好的答案显示了一个简洁的递归函数来做到这一点。 但是如何找到一组超过2个整数的GCD? 我似乎无法找到这样的例子。 任何人都可以建议最有效的代码来实现这个function吗? static int GCD(int[] IntegerSet) { // what goes here? }

ClickOnce部署会留下多个版本(是的,超过两个版本)

我有一个ClickOnce应用程序,它将所有旧版本留在我的磁盘上。 这是一个经常更新的内部企业应用程序,因此这对于快速扩大我们的备份大小来说是一场灾难。 根据文档和其他Stack Overflow问题,它应该只保留当前和以前的版本在磁盘上。 但是,每次部署项目并升级客户端时,我都会获得所有EXE,DLL和数据文件的另一个副本。 我没有对应用程序进行任何更改,只是在Visual Studio中再次推送部署。 我该如何解决这个问题? 问题似乎发生在Windows 7和Windows XP以及64位和32位Windows上。 我已经完成了安装版本的文件夹的差异,以下文件是不同的: MyApp.exe.manifest MyApp.exe.cdf-ms MyDll1.cdf-ms MyDll2.cdf-ms 没有实际的可执行文件,也没有MyApp.manifest , MyDll1.manifest等。 如何替代。 在运行时查找包含我的应用程序的其他文件夹并删除它们是否安全? 这会打破什么吗? ClickOnce只是一个明显神秘的黑盒子吗?

如何从命令行或C#应用程序检测msbuild的状态

我正在用C#编写一个checkout,build和deployment应用程序,并且需要知道检测我对msbuild.exe调用是否成功的最佳方法。 我试图使用该过程中的错误代码,但我不确定这是否始终准确。 有没有办法(通过下面的代码)我可以判断msbuild.exe是否成功完成? try { Process msbProcess = new Process(); msbProcess.StartInfo.FileName = this.MSBuildPath; msbProcess.StartInfo.Arguments = msbArguments; msbProcess.Start(); msbProcess.WaitForExit(); if (msbProcess.ExitCode != 0) { // } else { // } msbProcess.Close(); } catch (Exception ex) { // }

将时间戳添加到Trace.WriteLine()

在我的C#.NET应用程序中,我遇到了Trace.WriteLine()方法的问题。 我使用这种方法很多,并且每次使用时都想添加TimeStamp。 而不是Trace.WriteLine(DateTime.Now +“有问题!”),有没有DateTime默认的解决方案?

在C#实例方法中,’this’可以为null吗?

我有一种情况,很少有对象的队列出列空值。 对Enqueue的唯一调用是在类本身内: m_DeltaQueue.Enqueue(this); 很少,在以下代码中,null会从此队列中出列(静态方法): while (m_DeltaQueue.Count > 0 && index++ < count) if ((m = m_DeltaQueue.Dequeue()) != null) m.ProcessDelta(); else if (nullcount++ < 10) { Core.InvokeBroadcastEvent(AccessLevel.GameMaster, "A Rougue null exception was caught, m_DeltaQueue.Dequeue of a null occurred. Please inform an developer."); Console.WriteLine("m_DeltaQueue.Dequeue of a null occurred: m_DeltaQueue is not null. m_DeltaQueue.count:{0}", m_DeltaQueue.Count); } 这是生成的错误报告: [Jan […]

创建一个独立的exe而无需安装.NET框架

我是学生,目前我正在公司实习。 这个实习是关于分析项目。 对于这个项目,我做了一个演示给营销总监。 我演示的是一个在Visual Studio 2010中使用Windows窗体在c#中创建的简单项目以及与Access数据库的连接。 所以现在我必须在一个演示文稿中向这位导演展示这个演示,但是在演示之后,导演想要在他的计算机上安装该项目,以便他可以尝试使用它。 现在的问题是,这家公司的计算机没有.NET framework 4.0,而且这里的计算机受到如此保护,以至于我们无法安装任何新的东西。 要安装一些东西,你必须经历一个需要数周的程序。 我已经浏览了互联网,但我找到的是如何安装.NET框架。 有没有可能的方法,我可以创建一个独立的exe而无需安装.NET框架? 请帮忙!