WCF:MessageContract,DataContract ……困惑?

我正在编写我的第一个WCF服务。 我决定将服务作为一个DLL开始编写,然后将WCF的内容展开,这就是我现在所处的位置。 建筑师告诉我,我应该坚持使用特定的消息对象格式。 但是我在我的消息对象中使用了Interfaces,复杂类型和列表。 我要添加属性,我有点困惑。 这是我的代码的示例。 [ServiceContract] public interface MyServiceContract { [OperationContract] MyMethodResponseMessage MyMethod(MyMethodRequestMessage request); } public class MyService : MyServiceContract { public MyMethodResponseMessage MyMethod(MyMethodRequestMessage request) { //Do things } } //Messages [MessageContract] public class MyMethodResponseMessage { [MessageBodyMember] public MyMethodResponse Body { get; set; } } [DataContract] public class MyMethodResponse { [DataMember] public IMyComplexTypeItem { […]

WebRequest没有GetResponse方法 – Windows Phone 8

我想向API发送一个post请求,其中包含一些他们要求的参数…我最后只是创建了一个字符串,它很难看,但我不知道让它以不同方式工作的方法。 然后我在这个WebRequest类上找到了很多变种,但不幸的是我无法让它工作。 主要问题可能是因为我并不是真的理解这一切是如何拟合的,但基本上,我一直在使用WebRequest方法GetResponse的例子……即使在MSDN上也有这个,所以我想知道为什么当我试着调用它时在我的代码中,我没有得到那个选择? GetRequestStream 。 如何将参数添加到WebRequest中? *****DBContext() { data = “grant_type=” + GRANTTYPE + “&username=” + username + “&password=” + password + “&client_id=” + CLIENTID + “&redirect_uri=” + REDIRECTURI + “&client_secret=” + CLIENTSECRET; } public bool Authenticate() { byte[] dataStream = Encoding.UTF8.GetBytes(data); WebRequest webRequest = WebRequest.Create(urlPath); webRequest.Method = “POST”; webRequest.ContentType = “application/json”; webRequest.ContentLength = dataStream.Length; […]

在sql db中插入一个包含特殊字符的字符串’

我想在sql表中插入一个可能包含’character的字符串。 我最好的方法是什么? 我应该在’之前插入\吗? 这是我在ac#代码中的命令: SqlCommand myCommand = new SqlCommand( String.Format( “insert into ACTIVE.dbo.Workspaces_WsToRefile values({0},'{1}’,getdate())”, folderId, NewWorkspaceName), myConnection); 其中NewWorkspaceName可能包含’字符,因此插入将导致exception。 感谢先进,哈达斯。

出现新表单时创建深色背景

这对我来说很难实际解释所以我为我想要的东西创建了一个模型。 有人可以解释我怎么做到这一点? 也许一些代码可能有所帮助,但我认为一般的想法或方向就足够了。 每当在它前面打开一个新窗口时,我想让父背景变暗。

获取“链接”(AKAcollections夹)文件夹的路径

更新: 所以我发现在执行所有这些工作时,您的用户文件夹中的“Links”文件夹似乎可以命名为ANYTHING,您仍然可以通过转到“C:\ Users(username)\ Links”来访问它 例如:重命名 “C:\Users\(username)\Links” 至 “C:\Users\(username)\MyNewLinksFolder” 然后尝试浏览到…… “C:\Users\(username)\Links” (额头到掌心) Windows 7文件资源管理器树中有一个“collections夹”节点: 这些collections夹的路径(默认情况下)位于: 我希望能够通过c#代码获得此路径。 我希望使用Environment.SpecialFolder枚举,但这似乎是一个洗! 我不能依赖于总是驻留在的文件夹: c:\users\[username]\Links …因为任何人都可以更改该目录名称,它仍然可以正常工作,然后我的硬编码路径将是无用的。 所以! 我的问题是,如何在不使用硬编码字符串的情况下让c#返回该路径? 我也希望能够获得这些项目图标 ! 谢谢!

处理MVC中的多个角色 – 基于动作的可访问性

我目前有一个项目,我似乎遇到了关于角色的问题,并认为我会就如何最好地处理问题得到一些意见。 系统将需要可编辑,灵活的角色,不仅可以控制特定区域的访问,还可以控制系统function的使用(添加用户,编辑用户,查看报告等) 系统当前允许用户拥有多个角色,每个角色都明确定义了访问/操作区域,例如: 角色A可以访问区域1,2,3并且可以添加用户。 角色B可以访问区域1,5,7并且可以修改用户。 角色C可以访问区域4,6和仅查看用户。 所以用户可以在角色A和C中,因此访问:1,2,3,4和6,并且可以添加和查看用户。 我的第一个解决方案是创建一个字典,将所有可能的访问/访问选项区域存储到字典中,如下所示: Dictionary 然后,当它被实例化时,它从数据库中提取所有属性,然后遍历角色以确定它们是否可访问。 所有这些当前都可以正常工作 – 但是项目非常Javascript / jQuery密集,因此很多这些选项都是由客户端函数调用的。 我试图避免必须包含所有这些客户端function: <%if(AccessDictionary[key]) //Enable or Disable Action 所以基本上,我想知道以下事情: 用户登录后,存储此词典的最佳方法是什么? 静态? 在会议中? 什么是最好的存储方法,以便在视图中轻松访问字典? (因为我目前看不到包装我的客户端function) 任何建议或想法将不胜感激!

我们需要在multithreading代码中读取.NET Int32时锁定它吗?

我正在阅读以下文章: http : //msdn.microsoft.com/en-us/magazine/cc817398.aspx “解决你的multithreading代码中的11个可能的问题”作者:Joe Duffy 它提出了一个问题:“我们需要在multithreading代码中读取它时锁定.NET Int32吗?” 据我所知,如果它是32位SO中的Int64,它可能会撕裂,正如文章中所解释的那样。 但对于Int32,我想到了以下情况: class Test { private int example = 0; private Object thisLock = new Object(); public void Add(int another) { lock(thisLock) { example += another; } } public int Read() { return example; } } 我没有看到在Read方法中包含锁的原因。 你呢? 更新基于答案(由Jon Skeet和ctacke提供)我理解上面的代码仍然容易受到多处理器缓存的影响(每个处理器都有自己的缓存,与其他处理器不同步)。 所有这三个修改都解决了这个问题: 添加“int example”的“volatile”属性 插入Thread.MemoryBarrier(); 在实际读取“int example”之前 在“lock(thisLock)”中读取“int […]

如何在WPF中启动说明Master-Detail(复合列表)对象数据绑定的最简单代码?

我试图运行(在C#4.0,Visual Studio 2010中)代码 无法使用ItemsControl和StackPanel将List显示为我的视图的一列? 已经在VS2010 WPF应用程序项目的MainWindow.xaml.cs中添加了myOrders的实例化但是我正在进入XAML 由于未知的数据上下文,无法解析符号’ myOrders ‘ 在MainWindows.xaml中指向myOrders上的鼠标: ItemsSource=”{Binding myOrders}” 在这种情况下,启动WPF应用程序的完整XAML脚本是什么? 更新: 我删除了我的代码,因为提供答案和评论是多余的。 请注意,我对最简单的启动插图 – 数据绑定的实现感兴趣: 复合(分层或多维/锯齿状数组或列表)List 对象(在C#中实例化但在XAML中不实例化) 模仿Master-Detail关系,TreeView 这是我在互联网上找不到的。 我可以发现,教程,演练或示例中的代码要么不会因为混淆模糊概念和理解而编译或过度膨胀。 即我更喜欢使用更简单的代码消失的答案 ,尽管我不能将其投票或标记为正确,因为它不是我的。

如何运行NUnit测试?

我想有一个独立的项目,它将测试通过USB连接的远程系统的一些function。 所以我想在我的应用程序中使用NUnit的所有function。 我目前写道: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using NUnit.Framework; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.ReadLine(); } } [TestFixture] public class MyTest { [Test] public void MyTest() { int i = 3; Assert.AreEqual(3, i); } } } 如何运行我的测试套件以及如何获得测试报告?

LINQ to SQL:无法在LINQ查询中使用SQL Server UDF

我在做LINQ到Sql。 为了获得良好的性能,我正在尝试过滤SQL Server端本身的一些记录。 所以我想在我的数据库中使用用户定义的函数(UDF) GiveWordCount 。 基于这篇文章,我正在尝试在C#端使用该UDF。 声明一个虚函数体,以便C#代码可以编译: [Function(Name = “dbo.GiveWordCount”, IsComposable = true)] public static int GiveWordCount([Parameter(Name=”@inputValue”,DbType=”nvarchar(4000)”)]string inputValue) { throw new NotSupportedException(“Direct calls are not supported.”); } 然后我在LINQ查询中调用此函数,如下所示。 在最终SQL查询被触发到数据库之前,调用’GiveWordCount’函数应该由LINQ转换为Sql提供程序到等效的内置sql server函数。 相反,它会导致错误: 方法’Int32 GiveWordCount(System.String)’没有支持的SQL转换。 这是我的主要function: static void Main(string[] args) { DataContext dataContext = new DataContext(“data source=.;initial catalog=businessLinqToSql;integrated security=True;MultipleActiveResultSets=True”); Table customers = dataContext.GetTable(); IEnumerable b = […]