通过Windows Live ID登录桌面应用程序

我想为我的桌面应用程序创建一个登录表单,用户可以使用Windows Live ID。 我在manage.dev.live.com中创建了一个应用程序并使用了Desktop Implementation部分。 我使用WebBrowser控件并导航到给定的地址。 但我不知道如何收到用户的令牌。 如果我犯了错误,请告诉我如何解决这个问题。

从字符串中获取倒数第二个字符位置

我有一个动态形成的字符串,如 – part1.abc.part2.abc.part3.abc 在这个字符串中我想知道倒数第二个位置“。” 所以我可以将字符串拆分为part1.abc.part2.abc和part3.abc 让我知道有没有直接的方法来获得这个?

如何在动作filter中获取当前模型

我有一个通用的动作filter,我想在OnActionExecuting方法中获取当前模型。 我目前的实现如下: public class CommandFilter : IActionFilter where T : class, new() { public void OnActionExecuting(ActionExecutingContext actionContext) { var model= (T)actionContext.ActionArguments[“model”]; } } 如果我的所有型号名称相同,它的效果很好。 但我想使用不同的模型名称。 如何解决这个问题呢? 编辑 public class HomeController : Controller { [ServiceFilter(typeof(CommandActionFilter))] public IActionResult Create([FromBody]CreateInput model) { return new OkResult(); } }

如何(xml)序列化uri

我有一个我标记为Serializable的类,具有Uri属性。 如何在不创建string类型属性的情况下让Uri序列化/反序列化?

数据读取器与指定的entity framework不兼容

我有一个方法,将从sproc中返回裸min结果以填充选择菜单。 当我想要裸min结果时,我将bool getMin = true传递给sproc,当我想要完整记录时,我传递bool getMin = false。 这导致Entity FrameWork错误“ 数据读取器与指定的不兼容 ” 错误最相关的部分 {“Message”:“发生错误。”,“ExceptionMessage”:“数据读取器与指定的’CatalogModel.proc_GetFramingSystems_Result’不兼容。类型的成员’FrameType’在其中没有相应的列具有相同名称的数据读取器。“,”ExceptionType“:”System.Data.EntityCommandExecutionException“, 显然错误告诉我,当数据读取器试图设置属性’FrameType’时,查询结果中没有。 现在我理解了这个错误,我想知道的是,我正在为了将这个sql sproc分成两个sprocs而进行goning或者是否有解决方法? 我的function如下 public static IEnumerable GetFramingSystems(int brandID, string frameType, string glazeMethod, bool getMin) { using (CatalogEntities db = new CatalogEntities()) { return db.proc_GetFramingSystems(brandID, frameType, glazeMethod, getMin).ToList(); }; } 我的TSQL如下 ALTER proc [Catelog].[proc_GetFramingSystems] @BrandID INT, @FrameType VARCHAR(26), @GlazeMethod VARCHAR(7) =’Inside’, […]

如何在RichTextBox C#中“对齐”文本?

如何在RichTextBox中对齐文本? 基本上,RTB包含: “–testing” “–TESTING” “TESTING–” “testing–” 它们具有相同数量的字符,但具有不同的对齐方式。 如何正确对齐它们? 我对C#很新,因为它在Java的TextArea中正确对齐而感到困惑。 谢谢!

如何从Dapper查询而不是默认(T)返回null?

我正在使用Dapper通过存储过程进行一些只读数据库调用。 我有一个查询将返回1行或没有。 我正在使用这样的Dapper: using (var conn = new SqlConnection(ConnectionString)) { conn.Open(); return conn.Query(“API.GetCaseOfficer”, new { Reference = reference }, commandType: CommandType.StoredProcedure).FirstOrDefault(); } 返回的CaseOfficer对象如下所示: public class CaseOfficer { public string Title { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } […]

C#Strings(和其他.NET API)的大小是否限制在2GB?

今天我注意到C#的String类将字符串的长度作为Int返回。 由于Int总是32位,无论架构如何,这是否意味着字符串的长度只能是2GB或更小? 一个2GB的字符串将是非常不寻常的,并伴随着它出现许多问题。 但是,大多数.NET api似乎都使用’int’来表示长度和计数等值。 这是否意味着我们永远受限于适合32位的集合大小? 似乎是.NET API的一个基本问题。 我希望通过相当于’size_t’的方式返回count和length之类的东西。

导出X.509证书没有私钥

我认为这很简单,但显然不是。 我安装了一个具有私钥,可导出的证书,我想以编程方式仅使用公钥导出它。 换句话说,我想要一个等效于在通过certmgr导出并导出到.CER时选择“不导出私钥”的结果。 似乎所有X509Certificate2.Export方法都会导出私钥(如果存在),如PKCS#12,这与我想要的相反。 有没有办法使用C#来实现这一目标,还是我需要开始深入了解CAPICOM?

Moq如何正确模拟仅设置属性

使用Moq处理暴露的仅设置属性的接口的正确方法是什么? 以前我已经添加了另一个访问者,但是这已经过了很多随机throw new NotImplementedException()语句已经流入我的域名。 我只想做一些简单的事情: mock.VerifySet(view => view.SetOnlyValue, Times.Never()); 但这会产生编译错误。 The property ‘SetOnlyValue’ has no getter