Tag: web services

如何生成OAuth 2客户端ID和密钥

我想使用.NET生成客户端ID和客户端密钥。 我阅读了OAuth 2规范,例如,那里没有指定客户端密钥的大小。 使用.NET框架生成客户端ID和客户端密钥是否有良好的做法?

如何从WADL文件生成C#代码?

我正在寻找一个代码生成器,而不是生成C#代码来访问WADL文件描述的RESTful Web服务,其方式与wadl2java的工作方式类似。 做som搜索我遇到了Google Code上的rest-api-code-gen项目,但是虽然最新的源代码确实支持C#,但REST Describe&Compile演示站点却没有。 (C#按钮在那里,但它已被禁用。) 我意识到我可以下载源代码并使用最新版本设置我自己的服务器,但我不愿意,因为我需要的是命令行工具,而不是依赖于Google Web Toolkit的Web应用程序。 我想我可以编写自己的基于相同源代码的命令行工具,但如果它已经完成,或者其他工具可以完成这项工作,我宁愿避免它。 所以,我想知道,有那样的工具吗?

Web服务和远程处理有什么区别?

我知道Web服务并且对远程处理有一定的了解。 这两个概念都在客户机上调用方法,所以区别在哪里? 通过远程处理我们也可以在远程机器上执行该方法,同样的function也可以通过Web服务实现。 如果这是一个明显的问题,请原谅我..

将int列表传递给HttpGet请求

我的结构与此类似: [HttpGet] public HttpResponseMessage GetValuesForList(List listOfIds) { /* create model */ foreach(var id in listOfIds) model.Add(GetValueForId(id) /* create response for model */ return response; } 但是,当我对该方法执行Get请求时: {{domain}}/Controller/GetValuesForList?listOfIds=1&listOfIds=2 调试时说明listOfIds为null时出错。 在我们的控制器中,我们有许多公共HttpGet方法可以正常工作,并且当将参数更改为单个int时,它可以工作。 我已经尝试将参数类型更改为int[]和IEnumerable ,但没有更改。 但是,当将调用更改为HttpPost并将列表作为x-www-form-urlencoded值传递时,该方法可行。 是否可以将列表传递给Get方法,还是必须使用Post? 因为它实际上不是post方法(因为它返回值的JSON模型,并且没有任何内容保存到服务器)。

在asp .Net Core项目中添加wsdl web引用

我有网络服务http://www.mcommunicator.ru/m2m/m2m_api.asmx?WSDL我在Web API项目中从Visual Studio 2015连接到它时遇到问题 我已经尝试添加的“添加Web引用”没有:引用 – >添加连接服务 – > WCF服务 – 预览它通过我的地址找到1个Web服务,但是单击完成后出现错误。 我想这不是WCF服务,这就是我收到错误的原因。 但我没有看到任何其他方法来添加它。 请帮我。

使用ServiceStack使用REST Web服务时的用户身份validation

ServiceStack文档中有很多关于如何使用服务器端实现用户身份validation的示例。 但是如何在客户端设置用户凭据? 我使用ServiceStack来使用这样的JSON REST服务: var restClient = new JsonServiceClient (baseUri); var response = restClient.Get (“/some/service”); 如何在请求中添加任何forms的身份validation? 我想要使​​用的Web服务使用OAuth 1.0 ,但我也有兴趣添加自定义身份validation。 在我的代码中,我之前已经成功执行了OAuth令牌交换,因此我已经拥有了一个有效的访问令牌,现在需要使用此访问令牌及其token_secret对每个REST请求进行token_secret 。

从代理服务器后面调用Web服务

我需要在应用程序(C#)中添加一个function,它将使用Web服务(XML SOAP服务)。 现在,这个应用程序可以(并且主要)在具有代理服务器的企业环境中使用。 我理解SOAP服务使用HTTP协议,因此应该使用端口80,它通常保持打开状态。 应用程序是否可以在没有任何特殊编码的情况下使用Web服务,或者我需要编写特殊代码来检测代理设置或您看到的其他一些问题? 编辑:Webservice是互联网上的公共服务。 它不在同一个网络上。

在ASP.Net Web API中的日志记录DelegatingHandler中读取HttpRequestMessage.Content时丢失

在Controller中的Action中尝试对象时,偶尔似乎是null。 我发现它是由ReadAsStringAsync()的SendAsync()覆盖中的ReadAsStringAsync()引起的。 问题在于内容。 当我的客户端发送一个内容正文并在记录器中读取它时,它永远不会被Controller Action Invoker读取(或者可能在JsonFormatter某个地方)。 我怀疑后来对Content.ReadAsStringAsync()调用不会抛出exception但也不会返回预期的内容体(返回一些信息表明异步读取已完成)。 但是我的问题仍然存在,因为我想在一个动作中读取一个[FromBody]参数,当DelegatingHandler赢得Content.ReadStringAsync的RaceCondition时它为null。 当JsonFormatter赢得它时,我得到了对象,但这很少见(仅在服务启动时)。 这是我的DelegatingHandler代码: public class LogHandler : DelegatingHandler { protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var apiRequest = new WebApiUsageRequest(request); WriteLog(apiRequest); request.Content.ReadAsStringAsync().ContinueWith(t => { apiRequest.Content = t.Result; WriteLog(apiRequest); }); return base.SendAsync(request, cancellationToken).ContinueWith(task => { var apiResponse = new WebApiUsageResponse(task.Result); apiResponse.Content = task.Result.Content != null ? task.Result.Content.ReadAsStringAsync().Result […]

使用WCF实现观察者模式

当我第一次发布这个问题时,我的Web服务和应用程序控制器之间有很强的耦合,控制器需要打开多个线程到服务,并且当它接收到数据时,它必须对返回的数据进行大量处理并将其合并到一个数据集。 我不喜欢客户端在准备好使用它之前必须处理和合并返回的数据这一事实,并希望将该层移动到服务并让服务打开供应商的异步线程并合并结果在将它们返回给客户之前。 我遇到的一个挑战是,我不能等到所有线程完成并且结果合并,我必须开始接收数据,因为它可用。 这叫我在服务上实现一个观察者模式,以便在合并新的结果集并准备好使用它并将它们发送到应用程序时通知我的应用程序。 我正在寻找如何使用ASMX webservices或WCF执行此操作,到目前为止,我已经发现使用WCF实现它,但此线程始终是开放的建议和改进。

如何从ASP.Net访问PHP Web服务?

我正在尝试在C#ASP.Net Web应用程序中使用Web服务。 该服务是用PHP构建的,位于一些不受我控制的远程服务器上,因此我无法对其进行修改以将元数据或其他内容添加到其中。 当我在Visual Studio 2008中使用“添加Web引用”选项时,收到以下错误: HTML文档不包含Web服务发现信息。 在尝试添加以下Web服务时。 https://subreg.forpsi.com/robot2/subreg_command.php?wsdl Web服务function在Visual Studio 2008中公开并显示。但是我无法添加对它的引用以在ASP.Net应用程序中使用。 t3Service“说明 方法__construct() create_contact() get_contact() get_domain_info() get_last_error_code() get_last_error_msg() get_NSSET() get_owner_mail() 登录 ( ) register_domain() register_domain_with_admin_contacts() renew_domain() request_sendmail() send_auth_info() transfer_domain() 我还尝试了wsdl.exe方法,检索xml并将其复制到wsdl文件并生成代理类。 但是wsdl输出包含警告,生成的代理类会跳过公开的函数并生成如下所示的内容: // CODEGEN:命名空间’urn:t3’中的操作绑定’create_contact’被忽略。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:忽略命名空间’urn:t3’中的操作绑定’get_contact’。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:命名空间’urn:t3’中的操作绑定’get_domain_info’被忽略。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:命名空间’urn:t3’中的操作绑定’get_last_error_code’被忽略。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:命名空间’urn:t3’中的操作绑定’get_last_error_msg’被忽略。 use […]