C# 部署WebApi服务器提示“调用的目标发生了异常”

项目场景:

在一个项目中,需要上位机作为WebApi服务器,提供接口供AGV进行调用。在多方讨论后,确定使用Owin技术部署轻量级webApi服务。

优点如下:
1、无需繁杂的IIS服务器部署步骤
2、使用简单,在上位机启动后同步运行即可
3、实现方式简单易懂,维护方便

于是参照以下这篇文章,写了一个服务器进行测试

C#使用Owin技术部署轻量级webApi服务


问题描述

提示:异常截图如下
InnerException:指定的网络名格式无效
Message:调用的目标发生了异常

APP 中接收数据代码:


原因分析:

提示:以下是本人和同事做的一些排查测试:

1、检查IP地址和端口号,以及接口路径,确定无误
2、用自己笔记本测试127.0.0.1端口,可以访问到数据
3、两台笔记本用网线连接,另外一台电脑可以通过postman访问到数据
4、现场工控机测试,两台工控机之间,通过postman无法访问到数据
5、网上查找资料,确定问题排查方向,以下是文心一言的回答
在这里插入图片描述
再确定其他方面没有问题后,最后将问题锁定在管理员权限上


解决方案:

提示:这里填写该问题的具体解决方案:

1、在bin/Debug目录下,找到执行文件同名的mainfest文件
在这里插入图片描述
2、用notepad++或者记事本打开,按照如下图所示,添加权限
在这里插入图片描述
3、再次测试,问题完美解决

### C# Web API 部署调用 #### 创建并配置Web API项目 为了创建一个新的C# Web API应用程序,可以利用Visual Studio或命令行工具dotnet CLI。通过这些工具,能够快速搭建起一个基础的Web API框架。 对于新项目的初始化,在终端输入如下指令来建立解决方案: ```bash dotnet new webapi -n MyApiProject cd MyApiProject ``` 上述操作会生成一套默认结构化的文件夹和源码模板[^1]。 #### 发布到IIS环境 当准备就绪发布至生产环境中时,通常会选择Internet Information Services (IIS),这是一种由微软提供的网络服务组件。在此之前需安装.NET Core Hosting Bundle确保运行时支持ASP.NET Core应用。 完成必要的软件部署之后,按照以下流程设置网站: - 打开IIS管理器; - 寻找目标站点位置; - 将编译后的程序集放置于指定目录下; - 设置应用程序池版本匹配托管平台需求; #### 客户端调用方式 一旦API已经成功上线,则可通过多种途径发起HTTP请求与其交互。下面给出了一种简单的HttpClient实例化模式来进行GET/POST请求的例子: ```csharp using System; using System.Net.Http; using System.Threading.Tasks; class Program { private static readonly HttpClient client = new HttpClient(); public async Task GetExampleAsync(){ HttpResponseMessage response = await client.GetAsync("http://localhost:port/api/values"); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } public async Task PostExampleAsync(){ var content = new StringContent("{\"name\":\"example\"}", Encoding.UTF8,"application/json"); HttpResponseMessage response = await client.PostAsync("http://localhost:port/api/values",content); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } ``` 此段代码展示了如何构建异步方法去获取资源列表或是提交数据给服务器处理[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值