草庐IT

c# - 如何在 Asp.Net Web API 上实现 Https/SSL 连接?

我使用Asp.netwebAPI为客户端(iphone、android、macos、web、windows等)提供api。我想实现一些更安全的API,以防止其他人理解链接中的参数(以防他们破解链接)我的问题是:我可以为此使用Https/SSL吗?它足够安全吗?如果是,我是否应该在客户端安装任何东西来实现它?谢谢 最佳答案 这取决于您要在何处托管ASP.NETWebAPI应用程序。如果您打算在IIS下托管它,除了通过IIS配置SSL之外,您不需要做任何特殊的事情。在我看来,您应该做的一件事是在您的应用程序中强制使用HTTPS。您可以使

c# - 我可以让 HttpWebRequest 包含 Windows 凭据而不等待 401 挑战吗?

我的应用与需要身份验证的内部WebAPI通信。当我发送请求时,我收到了预期的401质询,握手发生,重新发送经过身份验证的请求,一切正常。但是,我知道需要授权。为什么我必须等待挑战?我可以强制要求在第一个请求中发送凭据吗?我的请求生成是这样的:privatestaticHttpWebRequestBuildRequest(stringurl,stringmethodType){varrequest=HttpWebRequest.CreateHttp(url);request.PreAuthenticate=true;request.AuthenticationLevel=Authenti

c# - .NET/C# 上有一种 isset() 吗?

我需要检查uri请求中是否有参数。所以我需要检查是否设置了该参数。.NET/C#上有函数吗? 最佳答案 未设置的值将为null或空:value=Request["param"];if(String.IsNullOrEmpty(value)){//paramisnotset}如果参数名称在查询字符串中但值不在,则它将为空。如果名称不在查询字符串中,则该值为空。例如。¶m1=¶m2=value//Request["param1"]isString.Empty//Request["param3"]isnull

c# - 值不能为空。参数名称 : request

我正在使用nunit创建单元测试,所有这些代码在运行时都运行良好。我在下面有这个protectedHttpResponseMessage代码,当它返回时我的Controller正在调用它。但是,报错:"Valuecannotbenull.Parametername:request"isdisplaying.当我检查请求时,它实际上是null。问题:我将如何编写单元测试代码以返回HttpResponseMessage?错误显示在这一行:protectedHttpResponseMessageCreated(Tresult)=>Request.CreateResponse(HttpStat

c# - 如何优雅地从 WebApi 消息处理程序返回异常

我的Mvc\WebApi应用程序中有一个全局ExceptionFilter注册为:publicvirtualvoidRegisterHttpFilters(HttpConfigurationconfig){config.Filters.Add(newMyExceptionFilter(_exceptionHandler));}MyExceptionFilter在哪里:publicclassMyExceptionFilter:ExceptionFilterAttribute{privatereadonlyIMyExceptionHandlerm_exceptionHandler;publ

c# - 何时调用 WebResponse.Close()

WebResponseresponse;try{HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Timeout=20000;response=request.GetResponse();request=(HttpWebRequest)WebRequest.Create(url2);response=request.GetResponse();}catch(Exceptionex){//dosomething}finally{}应该在哪里调用response.Close()?在每次尝试GetResp

c# - 遍历请求对象键

这可以循环遍历所有表单键:foreach(stringsinRequest.Form.Keys){Response.Write(s.ToString()+":"+Request.Form[s]+"");}但是,我想遍历所有请求键:foreach(stringsinRequest){Response.Write(s.ToString()+":"+Request[s]+"");}问题是request.keys不是一个集合。但很明显,请求对象有我想要循环的子对象。我很确定这是可能的,我只是使用了错误的语法。提前致谢! 最佳答案 使用Req

c# - 如何编写 HTTP 请求

你好,我尝试用C#(Post)编写HTTP请求,但我需要帮助解决错误说明:我想将DLC文件的内容发送到服务器并接收解密后的内容。C#代码publicstaticvoiddecryptContainer(stringdlc_content){HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create("http://dcrypt.it/decrypt/paste");request.Method="POST";request.ContentType="application/x-www-form-urlencoded";request.

c# - 检查 Request.IsAjaxRequest 在我的 asp.net mvc4 中总是返回 false

我的Controller中有以下代码publicActionResultIndex(stringsearchTerm=null){System.Threading.Thread.Sleep(5000);varaccountdefinition=repository.FindAccountDefinition(searchTerm).ToList();if(Request.IsAjaxRequest()){returnPartialView("_CustomerTable",accountdefinition);}returnView(accountdefinition);}但如果我使用

c# - 使用 BrowserSession 和 HtmlAgilityPack 通过 .NET 登录 Facebook

我正在尝试使用RohitAgarwal的BrowserSession与HtmlAgilityPack一起上课以登录并随后在Facebook周围导航。我以前通过编写自己的HttpWebRequest来设法做到这一点。但是,它只有在我每次从浏览器中手动获取cookie并在每次执行新的“session”时向请求中插入一个新的cookie字符串时才有效。现在我正在尝试使用BrowserSession来获得更智能的导航。这是当前代码:BrowserSessionb=newBrowserSession();b.Get(@"http://www.facebook.com/login.php");b.