Tag: web services

如何防止数据抓取有价值的数据Web服务?

我对windows商店应用程序有个好主意。 我想制作这个应用程序。 然而,它需要一个庞大而有价值的数据库,我需要创建一个服务,以便人们不能轻易窃取它。 我的想法可能是在Azure上托管移动服务(我从未尝试过)并创建一个.net Web API项目来接收请求并将Json像糖果一样用于Windows 8 mvvmclient。 然而,我不想要的是有人从应用程序到服务来回嗅探我的流量,并弄清楚如何使用我的应用程序和服务获取/发布数据,然后设置他们自己的应用程序/网站以使用我的带宽显示此数据赚钱。 如何保护我的app-to-db数据访问权限,以便不能对我进行逆向工程。 这也是开发像这样的高容量Windows 8应用程序的最佳设置吗? 你有更好的建议吗? 我知道我可以使用SSL等来加密来往的流量。 我想要保护的是使用Firebug或Fiddler来确定可以发布哪些参数以获取特定记录的人。 然后创建自己的网站,只使用我的服务作为终点,并虹吸我的数据,并饶恕我的带宽。 即。 只是使用firebug,我知道我可以使用https://www.google.com/search?q=dallas在Google上搜索dallas这个词。 即使我加密页面,他们也可以在浏览器中看到这么多。 因此,如果某人在他们自己的应用程序中执行相同的get / post,他们将使用我的东西获得相同的记录。

GZIP通过WCF将请求压缩到远程Web服务

我正在使用需要与远程Web服务进行通信的Visual Studio 2010编写应用程序。 由于提交的数据量可能很大(最多100MB),因此服务文档说必须使用GZIP HTTP压缩发送请求消息。 我的问题是如何做到这一点,因为我只是在Visual Studio生成的代理对象上调用一个方法,而不是自己实际执行POST? 换句话说,由于我的代码中没有任何“请求”到GZIP,我怎么能告诉WCF为我做这个? 我通过使用提供的WSDL向我的应用程序添加服务引用来连接到服务,然后在Visual Studio生成的代理上调用一个方法来提交请求。 将抛出exception,并显示消息“必须使用HTTP压缩发送请求消息”。 (当然,这并不意外。) web.config设置中是否有一个属性定义了WCF服务,该服务会在将请求发送到远程主机之前使WCF对GZIP请求进行GZIP? 注意:我花了很多时间在网上搜索这个,但问题是大多数post都认为这是需要压缩的Web服务的响应 。 然而,在我的情况下,这是从我的客户发送的请求 。

如何在C#中使用reflection来列出.asmx的方法

给定一个引用asmx的url我将如何显示所有方法名称? 如果assembly =“http://…/something/something.asmx”,我试图显示该服务的方法名称,我现在应该怎样做才能让自己走得这么远? 我似乎无法在我看过的数百个例子中找到解决方案 public TestReflection(string assembly) { Assembly testAssembly = Assembly.LoadFrom(assembly); Type sType = testAssembly.GetType(); MethodInfo[] methodInfos = typeof(Object).GetMethods(); foreach (MethodInfo methodInfo in methodInfos) { Console.WriteLine(methodInfo.Name); } }

如何减少gridview列中的小数位数asp.net C#

我想在gridview列中只显示2位小数。 列名是InsuaranceAmount,TotalAmount和TravelAssistAmoun。 for (int i = 0; i new { TravelerName = obj.Travelers[0].FirstName + obj.Travelers[0].MiddleName + obj.Travelers[0].LastName, obj.BookingNumber, obj.BookingStatus, obj.ContactNumber, obj.CouponDiscountAmount, obj.DepartureDate, obj.FromCity, obj.ToCity, obj.PaidAmount, obj.TicketType, obj.InsuaranceAmount, obj.TotalAmount, obj.TravelAssistAmount }).ToList(); GridView1.DataBind(); } 在这个变量bookingDetailsEmailRS中,我收到了回复。

网络文件夹浏览器服务

在网上有一些类似的问题 – 甚至在这里有一些问题,但即使这些问题似乎很高兴,我找不到真正做到我需要的东西。 我正在尝试将远程目录浏览function添加到基于Web的管理控制面板(基于Intranet)。 此时我不需要担心安全性,因为这是在其他地方处理的。 为此,我使用的Web服务接受服务器名称和共享/文件夹路径作为参数。 我只需要它返回此路径的子目录,如果有的话。 听起来不是那么难,是吗? 嗯,这是(至少对我来说!) 我需要帮助的唯一一点是实际生成服务器和提供的路径的目录列表。 所有的帮助表示赞赏,但请不要只是链接到一个网站,因为我可能已经看到它但未能找到一个有效的解决方案; 其中大多数甚至似乎都没有试图做标题所暗示的。 一些解释也会有所帮助! 干杯

如何创建一个基于xsd文件接收和发送xml的Web服务?

我需要创建一个接受xml的.NET Web服务,使用它来查询数据库,然后返回xml。 我已经获得了请求和响应的xsd文件。 有人能指出我从哪里开始的正确方向或一个例子? 我之前没有使用过WCF,所以我更喜欢使用简单的asmx文件来做这件事。 我知道如何从数据库中获取数据,因此它是我丢失的xml和Web服务位。 我试过谷歌搜索一段时间,但不知道从哪里开始。 谢谢。

对Web服务的访问控制

这是我希望实现的目标: 我的ASP.NET Web服务托管在名为// service的服务器上。 我想通过服务器和应用程序来控制对Web服务的访问。 我的意思是,如果我在名为// web1的服务器上托管了两个ASP.NET Web应用程序(app1和app2),我只希望// web1 / app1能够调用Web服务。 我知道我可以授予访问// web1的IP地址的权限,但这样可以允许// web1 / app1和// web1 / app2访问Web服务。 我正在考虑使用SSL证书,因为我不希望Web应用程序处理登录名/密码。 在// service上 ,我将授予访问// web1的ip并将客户端证书从// web1映射到Windows帐户,这将只允许来自// web1的应用程序访问。 但是,如何进一步控制对web1 / app1的访问?

从VBScript调用WebApi方法

我的控制器中有以下web api方法 public HttpResponseMessage PostUpdateCardStatus(CardholderRequest cardholderRequest) { var cardId = cardholderRequest.CardId; switch (cardholderRequest.Action) { case “Enable”: break; case “Disable”: break; } var cardholderResponse = new CardholderResponse(cardholderRequest.RequestId) { Status = “OK” }; var response = Request.CreateResponse(HttpStatusCode.OK, cardholderResponse); return response; } 这就是我从.NET控制台应用程序调用它的方式 using (var client = new HttpClient()) { client.BaseAddress = new Uri(“http://localhost:55208/”); var request = new […]

是否可以从Web服务运行可执行文件?

我有一个Web服务,我想从其中调用.exe文件。 这可能吗? 如果是这样,它是如何完成的?

有没有更好的方法在C#中自定义SOAP头?

在过去,我需要在使用导入的WSDL Web引用的C#项目中创建自定义SOAP头。 我找到了一种方法可以做到这一点,但我对此并不满意,而且我有意识地想知道是否有更好的方法。 我所做的是创建一个派生自SoapHeader的头: [System.Xml.Serialization.XmlTypeAttribute(Namespace = “http://model.test.net”)] [System.Xml.Serialization.XmlRootAttribute(“securitytoken”, Namespace = “http://model.test.net”, IsNullable = false)] public class SpecialHeader : SoapHeader { [System.Xml.Serialization.XmlTextAttribute()] public string aheadervalue; } 然后,我必须修改从WSDL生成的代码,并在每个要包含自定义标头的Web调用之前向新标头的实例和以下内容添加引用: [System.Web.Services.Protocols.SoapHeaderAttribute(“instancename”, Direction=System.Web.Services.Protocols.SoapHeaderDirection.InOut)] 其中“instancename”是生成的类中的自定义标头的实例变量名称。 这样可以正常工作,除了WSDL中的任何更改都要求重新完成它,因为它重新生成了类。 在其他语言中,标题可以添加到生成的代码之外,所以可能我错过了在C#中完成的方式。 有更好的方法吗?