草庐IT

c# - Request.Url.GetLeftPart(UriPartial.Authority) 在 https 站点上返回 http

我们使用Request.Url.GetLeftPart(UriPartial.Authority)获取站点的域部分。这满足了我们对http的要求。我们最近将站点更改为https(大约3天前),但这仍然返回http://..url全部改为https显示在浏览器地址栏中。知道为什么会这样吗? 最佳答案 以下示例工作正常并返回带有“https”的字符串:varuri=newUri("https://www.google.com/?q=102njgn24gk24ng2k");varauthority=uri.GetLeftPart(UriP

c# - 从任意 URL 手动实例化 Controller 实例?

我的技能让我失望了,我知道我已经看过相关代码,但找不到它。获取任意URL、通过asp.netmvc路由系统运行它并在另一端产生对Controller实例的引用的最快方法是什么?例如,代码执行在某个任意Controller方法中。我想做这样的事情:...stringmyURL="http://mysite/mycontroller/myaction/myparameters";RouteDatafakeRouteData=newRouteData(Route???,IRouteHandler???)RequestContextctxt=newRequestContext(this.Con

c# - 特定于 ASP.NET Web API 中的 Controller 的自定义委托(delegate)处理程序

我编写了一个自定义委托(delegate)处理程序,它向请求中的响应和检查添加自定义header。我在WebAPI配置中添加了句柄config.MessageHandlers.Add(newcustomHandler());但问题适用于所有Controller。我需要应用特定于Controller的自定义header。是否可以添加特定于Controller的自定义处理程序? 最佳答案 本文末尾解释了如何将处理程序仅应用于某些路由:http://www.asp.net/web-api/overview/working-with-htt

c# - 使用 ASP.NET Web API, Controller 如何返回使用 DotNetZip 库压缩的流图像集合?

我如何创建一个WebAPIController来生成并返回从内存中JPEG文件(MemoryStream对象)集合流式传输的压缩zip文件。我正在尝试使用DotNetZip库。我找到了这个例子:https://web.archive.org/web/20211020131216/https://www.4guysfromrolla.com/articles/092910-1.aspx#postadlink。但是Response.OutputStream在WebAPI中不可用,因此该技术不太有效。因此,我尝试将zip文件保存到新的MemoryStream;但它扔了。最后,我尝试使用Pus

c# - asp.net 中 ./, ../, ../../, ~/on file path(URL) 之间的区别

我有一个脚本文件。看到路径是~/Script。但是,如果我输入../../而不是~/,该过程也同样有效。我的网站URL如:https://sample.com/Scripts/angular.js如果我在Scripts之前输入../../,那么它会自动更改以前的URL(https://sample.com/Scripts/angular.js).Whatistheurlprocess?Andhowcanitsautomaticallychanged?andpleasetellabouttheDifferentbetween./,../,../../,~/,/Scripts,Script

c# - 在 MVC Web Api 4 Beta 中从 Json 中删除空属性

我正在序列化对象并以json形式从我的Web服务返回。但是,我试图从序列化的json中省略空属性。有没有办法做到这一点?我正在使用WebApiMVC4测试版。 最佳答案 当前的ASP.NETWebAPI(thereareplans将其更改为使用Json.Net的最终版本)使用DataContractJsonSerializer默认情况下序列化JSON。因此您可以使用标准的DataContract/DataMember属性控制序列化过程。要跳过空属性,您可以设置EmitDefaultValue为假。[DataContract]publ

c# - 如何在 ASP.NET Web API 实现中将数组传递给 OData 函数?

ODataV4的规范声明它必须是可能的:https://issues.oasis-open.org/browse/ODATA-636."Complextypesandarrayscanonlybepassedtofunctionsthroughparameteraliases"当我尝试传递一个带有OData参数别名的数组时,发生异常。/TestEntities/NS.TestFunction(ArrayHere=@p)?@p=[1,2,3]结果:Unabletocastobjectoftype'EdmValidCoreModelPrimitiveType'totype'Microsof

c# - 在 Visual Studio 2013 中使用 HttpClient 进行单元测试/集成测试 Web API

我很难尝试使用VisualStudio2013测试我的APIController。我的一个解决方案有一个WebAPI项目和一个测试项目。在我的测试项目中,我有一个单元测试:[TestMethod]publicvoidGetProduct(){HttpConfigurationconfig=newHttpConfiguration();HttpServer_server=newHttpServer(config);varclient=newHttpClient(_server);varrequest=newHttpRequestMessage{RequestUri=newUri("htt

c# - autofac 是否支持新的 Web Api 2

我正在VS2013、MVC5、API2上开发WebAPI作为MVC/APIASP.NET的一部分,但我的AutofacWebApiDependencyResolver每次尝试注册时都会抛出异常:Additionalinformation:Inheritancesecurityrulesviolatedwhileoverridingmember:'Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()'.Securityaccessibilityoftheoverridingmethodmustmat

c# - 使用 HttpClient 和 Web API 方法 [FromBody] 参数发布到 Web API 最终为空

我正在尝试使用HttpClient发布到WebAPI。当我在WebAPI的Save方法中放置断点时,[FromBody]Product为空。这意味着我将产品发布到WebAPI的方式有问题。有人可以看看下面的代码,看看我可能哪里出错了。我假设它与标题和内容类型有关。从客户端存储库到WebAPI的POST调用应将产品对象作为JSON传递:publicasyncTaskSaveProduct(Productproduct){using(varclient=newHttpClient()){client.BaseAddress=newUri("http://localhost:99999/")