【c# – ASP.NET Web Api身份验证方法】教程文章相关的互联网学习教程文章

c#-CodeDom中方法的复杂属性声明【代码】

我正在尝试使用CodeDom生成一些方法,但在为这些方法生成自定义属性时遇到问题. 我可以管理简单的空属性,例如 [DataMember()] 或带有字符串值参数的属性, [DataContract(Namespace =“ http:// somenamespace”)] 但是我需要生成更复杂的属性,例如 [WebInvoke(方法=“ POST”,UriTemplate =“ SomeTemplate”,RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json)] 和 [FaultContract(typeof(Collectio...

在C#中同时具有特定参数和params方法重载的好处【代码】

.NET框架中有许多示例,其中一个方法有多个重载,其中一些重载使用特定数量的参数,然后使用params关键字进行最终的“全部捕获”.常见的示例在String类上,例如: > String.Format()> String.Concat() 我想知道为什么有这么多方法重载的特殊原因吗?起初,我认为这可能与性能有关.这样的问题及其答案-Cost of using params in C#的答案就是这样. 但是,我开始使用Reference Source网站来研究.NET源代码.我在String class source code中注...

C#-用于存储库的通用Linq查找方法【代码】

我有一个使用“存储库”模式的应用程序来抽象如何检索数据.我计划使用Web服务来检索数据,但是在开发过程中将仅对其进行模拟.但是,我对如何使查找方法起作用感到困惑.到目前为止,我有以下内容,但是我不确定query.Compile()是否正确(我发现没有示例可以做到).我收到一个编译器错误,说采用System.Linq.Expressions.Expression的Linq的Where方法没有重载.这是我到目前为止的位置:public async Task<IEnumerable<Customer>> FindAsync(...

c#-MVC HtmlHelpers的嵌套扩展方法【代码】

我想为我的MVC控制器嵌套一组扩展方法,我希望能够按照以下模式进行调用@Html.NestedName().CustomLabelFor(m => m.Field)我注意到TwitterBootstrapMVC遵循这种模式,但是我在复制它方面没有成功.有人可以给我展示一个示例我如何构造扩展方法类的例子吗? 目前,我的顶级课程如下public static class BootstrapHtmlHelper {public static BootStrap Bootstrap(this HtmlHelper html){return new BootStrap(html);} }嵌套在Bootstrap类...

基于C#中基类中的动态参数调用的子类中的find方法【代码】

我有一个带有接受接口的方法的基类.我想在子类中找到最匹配此接口的方法.例如:abstract class Base<T> {public T Get(IParam parameter){return Provide(parameter as dynamic);}public abstract T Provide(IParam parameter); }class Impl<string> : Base<string> {public string Provide(IParam parameter){return "default value";}public string Provide(ParamImplementation1 parameter){return "value for implementation 1...

c#-泛型类上静态Create()方法的紧凑语法?【代码】

我有两节课.这些实际上是从我的项目中复制/粘贴的:public static class PageResult {public static PageResult<T> Create<T>(int totalCount, IList<T> items){return new PageResult<T>(){TotalCount = totalCount,Items = items,};} }public class PageResult<T> {public int TotalCount { get; set; }public IList<T> Items { get; set; } }我这样做的原因是,我可以使用PageResult.Create(5,listOf5Items)而不是其他更长的语法...

c#-连接Console.Beep声音的方法【代码】

我一直在玩一些C#并专门制作声音…because it’s fun.所以我已经将其全部工作了,但Console.Beep()却使我有些烦恼:它不会直接连接声音.例如,运行下面的代码将导致一系列250毫秒的声音突发-但不是全部同时运行并听起来好像是一个声音,而是变得脱节了,每个声音之间都有?50ms的间隔.for(int i = 0; i < 11; i++) {Console.Beep(980, 250); }所以问题是,是否有任何编程方式可以使系统一起运行声音?我不得不说我并不真的希望有这样的情...

c#-有什么方法可以创建无法在程序集之外实现的公共.NET接口?【代码】

为了维护.NET中的二进制向后兼容性,通常不能向公共类和接口添加新的抽象方法.如果这样做,则针对扩展/实现您的类/接口的程序集的旧版本构建的代码将在运行时失败,因为它无法完全扩展/实现新版本.但是,对于类,有一个方便的解决方法:public abstract class Foo {internal Foo() { } }因为Foo的构造函数是内部的,所以我程序集中的任何人都不能扩展Foo.因此,我可以向Foo添加新的抽象方法而不必担心向后兼容性,因为我知道另一个程序集中...

C#-为当前会话刷新经过身份验证的用户的个人资料数据的最简单方法【代码】

我已经为Identity 2向AspNetUsers表中添加了几个自定义列.我将MVC5与C#结合使用.有几列包含对网站如何处理用户很重要的数据,还有一个设置页面,允许用户更改这些设置. 当前,如果更改设置,则用户必须手动注销并重新登录,然后更改才能生效,这被证明是不可取的. 刷新用户当前会话的个人资料最直接的方法是什么?如果这需要注销/登录才能生效,那么如何使用身份2进行编码? AccountController中不包含几个页面,我不确定如何访问AccountCo...

c#-在.NET中命名电子邮件附件的正确方法是什么?

.NET附件类上有3个“名称”属性: 附件名称Attachment.ContentType.NameAttachment.ContentDisposition.FileName 我想发送一个名为“ foo.xls”的excel文件.应该设置哪些?有什么不同?该文档不是特别有启发性.解决方法:正确使用的是Attachment.Name. Attachment.ContentType.Name的信息- 在将附件的内容指定为流或字符串时,可以使用“名称”来设置将内容存储在收件人系统上的文件的名称 Attachment.ContentDisposition.FileName的...

c#-有什么方法可以更改.NET Compact Framework 2.0上的输入法【代码】

我正在用C#、. NET Compact Framework 2.0开发Windows Mobile应用程序.已安装的操作系统是Windows Mobile 6.0. 问题是当我使用物理键盘在文本框中输入一些文本时,总是输入韩语,因为OS是韩文窗口移动设备.因此,我尝试以编程方式将IME模式更改为英语,但是框架中没有任何方法.例如TextBox tb = new TextBox(); tb.ImeMode = ImeMode.Alpha; // CF does't support this property当然,一旦我使用屏幕上的软键盘更改了模式,它就会以英语运...

首页> C#> NetworkStream的ReadAsync和读在同一方法【代码】

我正在尝试构建具有持久TCP连接的可伸缩服务器应用程序.我使用的序列化库是同步的,将其转换为APM会导致很大的开销(我已经对其进行了测试). 数据包的格式始终是数据包ID的一个字节,其后是更多的标头字段和有效负载.我想知道是否创建了一个异步方法,例如:public async Task<Packet> Deserialize(NetworkStream stream) {//Omitting parameters for the methods below for simplicity.var id = await stream.ReadAsync();var size = ...

c#-什么是在Servicestack JsonServiceClient Get方法上实现重试的最佳解决方案?【代码】

在我的项目中,我使用Servicestack从特定的URL提取数据,此过程是可配置的,我在单独的线程中调用提取数据,如果发生超时错误,我想实现重试.我在JsonServiceClient上创建了包装器类,并在此实现重试,但是我想知道什么是此方法的最佳解决方案.var _client = new JsonServiceClient { Timeout = timeout }; var counter = 0; do {try{result = _client.Get<TResponse>(url);break;}catch (Exception exp){//Logging exception} } while (+...

哪种方法最好? AutoMapper反对隐式(C#参考)【代码】

自动映射器是一种匹配类型的方法,理想情况下,当您要映射模型及其视图模型时.但这不是我们可以在C#中使用隐式方法实现的方法吗? (假设两个模型具有相同的属性,但名称不同,在这种情况下,您需要在AutoMapper中指定在模型之间链接的属性) 有了autommaper,我们有了public class Employee {public string Name { get; set; }public string Email { get; set; } }public class EmployeeViewItem {public string Name { get; set; }public...

c#-记忆表达式的最快方法【代码】

我有一个函数,将输入Expression转换为Output BlockExpression.所以我写这段代码:private static readonly Dictionary<Expression, BlockExpression> MemberMemoizeDictionary = new Dictionary<Expression, BlockExpression>(); private static BlockExpression CreateBody<TProperty>(CustomComparer<T> comparer, Expression<Func<T, TProperty>> member, bool createLabel)where TProperty : IComparable<TProperty>, ICompara...