如何使用ajax调用跨域的web api?
jQuery.ajax({ type: "GET", url: 'http://example.com/restaurant/VeryLogin(username,password)', dataType: "json", success: function (data) { alert(data); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert("error"); } }); 它提醒成功,但数据为无效. URL返回XML数据,如果我们指定数据类型,我们可以获取JSON数据,但是这里没有获得任何数据. 任何帮助. 解决方案 JavaScript受同一域策
0 2024-01-21
编程技术问答社区
网络服务API密钥和Ajax-确保密钥安全
这可能是一个通用的安全问题,但我想我会在我正在开发的领域中询问. 场景是:使用API​​密钥来验证并告诉我用户是谁的Web服务(WCF Web API),以及前端的JQuery和应用程序的混合. 一方面,流量可以是https,因此无法检查它,但是如果我使用每个用户使用相同的密钥(例如GUID),并且我在两者中都使用它,那么它有可能会采用它,并且有人可以模仿用户. 如果我实现了类似于Oauth的某些内容,则会生成一个用户和每个应用键,并且可以工作 - 但对于jQuery side,我仍需要JavaScript中的App API键. 当某人在实际计算机上并进行视图源时,这只会是一个问题. 我该怎么办? MD5或以某种方式加密密钥? 将键放入会话变量中,然后使用Ajax检索它? 克服它,这不是一个大问题/问题. 我确定这可能是一个普遍的问题 - 因此,任何指示都会受到欢迎. 让这个更清晰 - 这是我写的我正在询问的API,而不是Google等
2 2024-01-20
编程技术问答社区
HttpClient认证头没有被发送
我正在尝试将HttpClient用于需要基本HTTP身份验证的第三方服务.我正在使用AuthenticationHeaderValue.这是我到目前为止想到的: HttpRequestMessage request = new HttpRequestMessage( new RequestType("third-party-vendor-action"), MediaTypeHeaderValue.Parse("application/xml")); request.Headers.Authorization = new AuthenticationHeaderValue( "Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes( string.Format("{0}:{1}"
4 2024-01-07
编程技术问答社区
使用WCF HTTP Web API,UriTemplateMatch总是为空。
我已经根据我发现的最新教程设置服务,一切似乎都很好. 但是, 为了访问WebOperationContext.current.incomingrequrest.uritemplatematch类,其中包含Queryparameters Collection(例如?name = tom&age = 20),我需要配置该服务以使用WebHttpBehavior.我设法使此工作的唯一方法是使用控制台应用程序使用WebServiceHost自托管它.我无法从web.config或iis或cassini的global.asax开始工作. 我觉得奇怪的是,关于如何使用Web-API谈论IOC之前,在托管IIS之前,这是奇怪的:这不会有用吗?他们似乎都使用了根本不使用查询字符串的非常简单的服务,而IOC! 这是我发现几乎提到问题的资源,但不要解决问题: 解决方案 您可以做这样的事情: [ServiceContract] public class ContactRe
2 2024-01-07
编程技术问答社区
如何获得标题值
如何从WCF Web API中的Web方法访问标头值? 解决方案 您可以尝试这样的尝试: (使用system.web;) HttpUtility.UrlDecode(HttpContext.Current.Request.Headers["myValue"]);
0 2024-01-07
编程技术问答社区
Massive与WCF Web Api一起返回动态类型/Expandos?
我想使用WCF Web API使用大量数据访问,然后从我的Web API中返回Dynamic或ExpandOobject/iEnumerable . 我基本上使用JSONNETMEDIATYPEFormatter使用JSON.NET的ExpandOobject序列化工作,但是所有内容都以JSON中的键值对返回,例如: [ { "Key":"ID", "Value":"1000" }, { "Key":"FirstName", "Value":"John" }, { "Key":"LastName", "Value":"Smith" } ] 但是,我想要的是: [ { "ID":"1000", "FirstName":"John", "LastName":"Smith",
2 2024-01-06
编程技术问答社区
C# WCF Web Api 4 MaxReceivedMessageSize
我正在使用WCF Web API 4.0框架,并且正在进入MaxReceivedMessagesize的框架已超过65,000个错误. 我已经更新了我的webconfig看起来像这样,但是由于我正在使用WCF Web API,所以我认为这甚至不再使用,因为我不再使用webhttpendpoint? element below -->
2 2024-01-05
编程技术问答社区
用新的WCF Web API设置Ninject
所以我一直在玩基于我阅读的内容,我需要实现界面iresourceFactory,该接口需要以下方法: public object GetInstance(System.Type serviceType, System.ServiceModel.InstanceContext instanceContext, System.Net.Http.HttpRequestMessage request); public void ReleaseInstance(System.ServiceModel.InstanceContext instanceContext, object service); 所以我鸡刮了以下内容: public class NinjectResourceFa
2 2024-01-05
编程技术问答社区
Autofac和IDisposable接口
假设我有以下接口和类: public interface IFooRepo : IDisposable { //... } public FooRepo : IFooRepo { //Methods here //Properly implement the IDisposbale.Dispose() here } 我在应用程序中使用AUTOFAC作为IOC容器,如果我以下面的形式注册它,我可以确定它会正确处理吗? private static IContainer RegisterServices(ContainerBuilder builder) { builder.RegisterType().As(); return builder.Build(); } ,或者应该根据我使用的应用程序类型采取进一步的步骤. (在这种情况下,我使用ASP.
0 2024-01-05
编程技术问答社区
DELETE方法.NET WebAPI不工作
我已经看到了有关此的大量帖子,但是我的新WebAPI的删除方法根本不起作用,并使用Windows 7 32-bit,IIS 7.5. 返回404 我尝试了 卸载WebDav 添加PUT,DELETE,选项到Extensionlesserlhandler-4.0 Handler(和32bit/64bit Handlers). 允许所有模块运行. 全部毫无用处,全部返回404.如果我将删除类型更改为get,则该服务将运行get命令. 有人对此有其他想法吗?这让我疯狂. 编辑: 我正在调用这样的删除方法(调解器是围绕jQuery调用的包装器): mediator.publish("AjaxCall", { url: "/api/files/" + $(a.currentTarget).data("fileid"), type: "DELETE", }
10 2024-01-04
编程技术问答社区
我可以为同一件事同时拥有一个控制器和一个ApiController吗?
我刚刚开始使用VS 2012 RC,我正在创建ASP.NET MVC 4 Web应用程序,我计划在其中提供基于HTML的用户界面和基于WebAPI的编程接口. 对于我的HTML网站,我为每个模型(MVC!)都有一个控制器和查看器,并且该路由的作品"按惯例"起作用,例如,url /client挂钩到我的ClientController> .我的ClientController源于Controller. 对于我的API,我将创建源自ApiController的新控制器.我自然希望我的API URL与我的HTML URL相似,因此我希望在/api/client上获得客户信息.但是,使用划线路由,这表明我需要一个名为ClientController的apicontroller.而且我已经有一个ClientController班级. 我该如何处理?我需要自定义路由吗?我是否将API类放在不同的名称空间中,以便可以给他们相同的名字? 更新:这个问题似乎表明我需要的API控制器的另
2 2024-01-04
编程技术问答社区
WCF Web API与ASP.NET MVC JSON网络服务的比较
使用新的WCF Web API而不是ASP.NET MVC 3揭示轻量级JSON Web服务层的优势是什么? 我在许多方面都喜欢Web API,但是缺点是它在单声道上不起作用,而MVC 3则不起作用.两种方法之间的主要区别是什么? 解决方案 Microsoft认识到这两种产品之间存在一些重叠.但是,它们确实有不同的重点: 如果您正在构建一个从Web服务中消费JSON的网站,那么MVC可能是最佳选择. 如果您要构建旨在由各种第三方客户消费的API,那么WCF Web API是最好的选择. 我自己的个人原因包括一个事实,即使用WCF Web API意味着我可以在Windows服务中进行自我主持,并且可以避免ASP.NET,Web.config和Cassini: - ) 其他解决方案 通过请求更新了6/24/14. 现在是ASP.NET Web API(以前为WCF Web API)和ASP.NET MVC将正式合并到当前被称为ASP.NET VNEXT
4 2024-01-03
编程技术问答社区
WCF Web API中HTML序列化到XML和Json的问题
我正在使用WCF Web API服务通过JSON和XML发布一些数据.但是我对HTML字符串有一个问题来序列化. 用于XML序列化i使用XMLMediatypeFormatter()和 对于JSON Serialize,我有使用newtonsoft.json Library的CustomJsonMediatypeFormatter类. 我从数据库中获取带有实体框架的数据,就像代码Bellow一样,我使用WCF Web API服务发布. [WebGet(UriTemplate = "getLogin")] public IQueryable Login() { var loginList = ltr.GetList(); List dtoList = new List(); foreach (LoginTabl
6 2023-12-22
编程技术问答社区
改变WCF WebApi HttpContent的响应
使用WCF Web API,在运行应用程序逻辑后但在返回给用户之前,我将如何更改响应的内容主体.目标是如果抑制statuscontent是正确的,我们: 在内容正文中添加一个状态代码字段 更改对200 的响应的状态代码 我已经覆盖了一个委托通道,在sendasnyc中有一些看起来像这样的代码: protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { return base.SendAsync(request, cancellationToken).ContinueWith(task => { var response = task.Result; if (CheckIfRequestHadSuppres
0 2023-12-21
编程技术问答社区
无法用HttpClient认证ASP.NET Web Api服务
我有一个ASP.NET Web API服务,该服务在Windows身份验证的Web服务器上运行. 我有一个在MVC4上构建的客户端站点,该网站在同一Web服务器上的其他站点中运行,该网站使用HTTPClient从服务中提取数据.该客户端站点启用了身份模仿并使用Windows身份验证. Web服务器是Windows Server 2008 R2,具有IIS 7.5. 我面临的挑战是让HTTPClient作为其身份验证过程的一部分传递当前Windows用户.我以这种方式配置了httpclient: var clientHandler = new HttpClientHandler(); clientHandler.UseDefaultCredentials = true; clientHandler.PreAuthenticate = true; clientHandler.ClientCertificateOptions = ClientCertificateOpt
WCF、Web API、WCF REST和Web Service之间的区别?
WCF和Web API和WCF REST和Web服务有什么区别? WCF真的如此复杂,以至于应该使用WebAPI? Webapi是否可以完成所有工作并且不利用他人? 解决方案 .NET框架具有许多技术,可让您创建HTTP服务,例如Web Service,WCF和现在的Web API.互联网上有很多文章可能描述您应该使用的文章. Web服务 它基于SOAP,并以XML形式返回数据. 它仅支持HTTP协议. 它不是开源的,但可以由任何了解XML的客户消费. 它只能在IIS上托管. WCF 它也基于SOAP,并以XML形式返回数据. 它是Web服务(ASMX)的演变,并支持各种协议,例如TCP,HTTP,HTTPS,名为Pipes,MSMQ. WCF的主要问题是,其繁琐而广泛的配置. 它不是开源的,但可以由任何了解XML的客户消费. 它可以在应用程序或IIS上或使用窗口服务中托管. WCF REST 要将WCF用作WCF REST服务,
6 2023-12-02
编程技术问答社区
WCF WebApi如何将一个请求URI映射到适当的服务类型/操作?
WCF REST(和WCF WebAPI)如何将URI映射到正确的服务端点? 在WCF WebAPI预览4: 在自定义委派频道中,我想根据传入的httprequestmessage.requesturi找到关联的路由前缀或服务类型. 所以,例如, RouteTable.Routes.MapServiceRoute("employees/managers", config); RouteTable.Routes.MapServiceRoute("employees", config); 说 http://server/mosport/john WCF如何将其映射到正确的端点? 到实例化ResourceFactoryProvider时,它已经知道具体服务类型.我似乎无法追踪分辨率在URI和路由表路由之间发生的位置. 预先感谢. 解决方案 通过使用MapServiceRou
4 2023-11-27
编程技术问答社区
我在哪里可以找到有关WCF Web API的最新文档?
我一直在与WCF一起努力,以按照我想要的工作方式休息.显然还有很多其他.我听说过因此,我一直在使用一个旧的示例,说明如何将json.net(newtonsoft)插入我的序列化,只是意识到,在我工作后,它对我的​​iErrorhandler行不通.此外,我如何>从URI模板到操作类型参数. 然而,我似乎应该能够通过使用媒体格式化器扩展点来解决这两个问题(大概是我尚未偶然发现的其他许多问题),并且在过时的文档中所谓的Processor s,除非我错过了,否则现在是HttpOperationHandler>. 我的问题是基本的,我无法弄清楚如何正确配置我的IIS托管应用程序以使用我的操作处理程序,假设我已经正确实现了它.既然要在这样的基本事物上询问说明很愚蠢,我宁愿问我在哪里可以找到有关如何做这种事情的文档? (当然是欢迎解释.) 我不是在看到存在哪个类或使用哪些参数命名的方法之后.我可以在对象浏览器中看到所有这些.我需要整体设计的文档,和/或示例隐含地描述了以
4 2023-11-27
编程技术问答社区
WCF Web API预览6:没有'MediaTypeFormatter'可用
我正在考虑在WCF Web API Preview 6中使用HTTPCLIENT来消费第三方服务.该第三方服务接受并返回XML格式的数据.他们的HTTP响应的内容类型标头设置为文本/平原.看来,将响应内容类型设置为文本/平原会导致问题.我正在向服务请求如下: Task result = client.PostAsync(apiEndpoint, new ObjectContent(typeof (LeaveAccrualRequest), request)); 使用提琴手,我可以看到请求转到服务,并提供适当的预期响应.但是,当我尝试访问响应时,我最终得到了以下InvalidOperationException: 否可以使用媒体类型'text/plain'读取类型的" leaveaccrualResponse"对象. 有没有办法告诉httpclient,即使http响应说内容类型是文本/平原,它也应以应用程序/xml? 处理
26 2023-11-27
编程技术问答社区
在HTTP下载请求头中设置接受条件
我有一个WCF Web API端点,该端点返回发票:/a> 它返回的格式是请求中的接受标头的格式.如果JavaScript想要JSON或XML,则将其设置在Accept标题中.这就是WCF Web API的工作方式.我已经在发票中添加了PDF格式化器,以便在询问应用程序/pdf时,它将带有适当的MIME类型的PDF文件流.这很好,我可以在提琴手中对其进行测试. 我需要用户单击浏览器中的某些内容以启动PDF下载并弹出Open/Save Dialog.我不知道该执行此操作并设置请求的接受标题.静态链接或窗口.JavaScript中的location无法正常工作,因为它不允许我设置标头. AJAX请求无法使用,因为尽管我可以设置标头,但它希望将文本回到,并且不会在浏览器中显示为下载. 我不确定如何做到这一点.任何建议都将不胜感激. 解决方案 您可以在JavaScript中动态创建表单,并要求它在新选项卡中启动.那应该给你想要的东西. function Submi
8 2023-11-27
编程技术问答社区