在Xamarin Forms C#中发送HTTP Post请求

在我开始之前,我想说我已经用谷歌搜索了这个问题的解决方案但要么不理解它们(我是新手)或者它们不起作用。 我想要做的是将JSON数据发送到localhost:8000上的REST API,格式如下: { “username” : “myusername”, “password” : “mypass” } 然后,我期望一个包含字符串标记的响应,如下所示, { “token” : “rgh2ghgdsfds” } 如何发送json数据然后从响应中解析令牌? 我已经看到了这样做的同步方法,但由于某种原因,它们不起作用(或者仅仅因为我不知道它在哪个命名空间)。 如果您采用异步方式执行此操作,请告诉我它是如何工作的? 提前致谢。

C#重叠PictureBox的透明度问题

我在一个面板PictureBox重叠显示,因为每个PictureBox都用作一个图层。 第一次定义PictureBox并将其添加到面板时,它的背景颜色是透明的,并且它的图像是空的。 问题是,无法看到底层,透明图像显示面板的地面。 例外的是可以看到底部PictureBox的图像。 我已尝试使用其他控件,如label。 问题无法解决:( 谢谢。

解析XPath表达式

我正在尝试为XPath创建一个’AET’(抽象表达式树)(因为我正在编写一个WYSIWYG XSL编辑器)。 在过去的三到四个小时里,我一直用XPath BNF撞墙。 我想到了另一个解决方案。 我以为我可以编写一个实现IXPathNavigable的类,它在调用CreateNavigator时返回我自己的XPathNavigator。 这个XPathNavigator总是会在任何方法调用上成功,并会跟踪这些调用 – 例如我们移动到客户节点,然后移动到客户节点。 然后我可以使用这些信息(希望)来创建’AET’(因此我们现在可以在对象模型中拥有客户/客户)。 唯一的问题是:我如何通过XPathExpression运行IXPathNavigable? 我知道这太懒了。 但是有没有其他人经历过努力并编写了一个XPath表达式解析器? 我还没有POC我可能的解决方案,因为我无法测试它(因为我不能对IXPathNavigable运行XPathExpression),所以我甚至不知道我的解决方案是否会工作。

C#备份和恢复剪贴板

我有一个使用剪贴板的程序,但我希望在完成后将剪贴板恢复到以前的状态。 这是我的代码: IDataObject temp = Clipboard.GetDataObject(); //Some stuff that change Cliboard here Clipboard.SetText(“Hello”); //Some stuff that change Cliboard here Clipboard.SetDataObject(temp); 但是,如果我复制一个文本并运行此代码,我在记事本上什么也得不到。 注意:我不能使用Clipboard.Contains,因为我想保留剪贴板EXACLY之前的状态,即使用户复制了一个文件。

使用Azure Active Directory – 一个应用程序在本地登录和发布时

我正在使用Azure Active Directory身份validation构建MVC应用程序。 当我在本地开发时,我希望能够登录进行测试/开发。 应用程序URL就像http://localhost:43400 。 这也在Sign-On Url和Reply Url中的AD应用程序中编码。 当我将相同的应用程序部署到服务器时,应用程序URL已更改 – 变为类似myappname.azurewebsites.net ,我无法使用相同的AD应用程序登录。 我能管理的最好的办法是通过登录过程,然后AD将我重定向回localhost:43400 ,这是错误的。 Startup.Auth.cs中有PostLogoutRedirectUri属性,我提供给应用程序,但它没有任何区别。 有没有使用相同Azure AD的本地应用程序和已部署应用程序的方法? 我可以使用不同的URL和密钥执行2个AD Applica,并在部署时重写web.config的值。 但这听起来不是最好的解决方案。 还有什么我能做的吗? UPD 以下是我在Startup.Auth.cs引用的内容: app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = clientId, Authority = Authority, PostLogoutRedirectUri = postLogoutRedirectUri, // <– this is coming from web.config, different in dev and prod Notifications = new OpenIdConnectAuthenticationNotifications() { ….. […]

如何从一个客户端使用多个WCF服务

我还在学习整个WCF的事情,所以请在这里忍受我。 我所拥有的是使用C#和VS 2008创建的两个自托管服务: 服务#1添加两个数字并返回结果。 服务#2返回数字的平方。 我希望客户能够向服务1发送两个号码,得到总和,然后将总和发送到服务2并获得正方形。 我为这两个服务都有两个生成的代理,我可以在它们上使用Intellisense,因此该部分可以正常工作。 现在我如何配置我的app.config文件,以便我可以与这两个服务进行通信? 现在,每当我尝试这样做时,我都会得到一个例外。 [如果我一次只在app文件中有一个配置,客户端工作正常,并尝试只调用该服务器。] 我想这是一个非常无趣的问题,答案可能是“以_____方式构建配置文件”,但Google似乎没有示例/指南。 有人知道怎么做吗? 注意: 从一个客户端客户端使用多个WCF服务虽然听起来像重复不是我想要的。 编辑:感谢marc_s,我得到了它的工作 由于两个服务都运行在不同的应用程序中,我不需要拆分服务器配置文件,但这是我对客户端配置文件所做的:首先使用SvrUtil.exe自动生成配置文件,然后以这种方式合并它们: … … … …

如何在WinRt应用程序中将WriteableBitmap图像转换为Byte数组

我想使用Windows商店都市风格的应用程序中的C#代码将WriteableBitmap图像转换为Byte[]数组。

获取ConvertBack()方法中的Source值,以便在WPF绑定中实现IValueConverter

我将依赖属性绑定到WPF中的textboxex。 该属性是一个字符串,其中一些值以’/’分隔(例如:“1/2/3/4”)。 我需要将单个值绑定到单独的文本框,这对于以下Convert()方法的实现很好: public object Convert(object value, Type targetType, object parameter,System.Globalization.CultureInfo culture) { if (!string.IsNullOrEmpty(value as string)) { String[] data = (value as string).Split(‘/’); return data[Int16.Parse(parameter as string)]; } return String.Empty; } 我在xaml使用ConverterParameter来指定所需值的位置。 但是,问题在于ConvertBack()方法。 我不知道,如何获取源值,这样我就可以只添加或更改字符串中的一个值(在指定位置)。 谢谢你的帮助。

从C#2.1驱动程序正确关闭MongoDB数据库连接?

我刚刚开始将MongoDB集成到我的应用程序中,我遇到了一些问题。 在我的应用程序中,我使用最新的2.1版MongoDB C#驱动程序,并仅使用MongoDB进行应用程序日志记录。 目前在显示我的主要申请Form我首先检查mongod.exe是否正在运行,如果没有,我启动它。 然后,当我的主Form显示时,它会打开一个与数据库的连接,以供下面使用。 public void Open() { Client = new MongoClient(“mongodb://localhost:27017”); Database = Client.GetDatabase(DBName); Collection = Database.GetCollection(ColName); } 我的问题是当我的应用程序关闭时我应该如何正确关闭此连接? 还有一些注意事项我应该考虑在每次应用程序关闭时运行mongod.exe而不是退出吗? 我已经搜索了几次试图找出是否有一种正确的方法来关闭连接,但没有找到任何非常具体的方法。 有一个旧的SOpost(我现在似乎无法找到)提到.Dispose方法,虽然我似乎无法在最新的驱动程序中找到它,也无法从我的IDE自动完成。

.NET,C#:如何添加充当ISerializable接口的自定义序列化属性

我正在做一些db linq对象的序列化,它包含EntitySet和EntityRef类。 我找到了一种非常简单的方法来处理这些类的序列化,只需使用ISerializable来正确处理这种类型的成员(将它们转换为序列化列表,并在反序列化时撤消它)。 但是,如果我能这样做,那将是非常好的: [Serializable] [SerializeLinqEntities] partial class Person { … } 代替: partial class Person : ISerializable { public virtual void GetObjectData( SerializationInfo si, StreamingContext ctxt ) { EntitySerializer.Serialize(this, typeof(Person), si, ctxt); } protected Person( SerializationInfo si, StreamingContext ctxt ) { EntitySerializer.Deerialize(this, typeof(Person), si, ctxt); } } 有没有办法做到这一点? 我查看了序列化类,似乎无法找到任何方法来设置自定义序列化filter例程(我可以在那里查找我的自定义属性)。 谢谢!