C# vs2019创建WebService服务并发布到服务器中
- 第一部分 服务器配置
- 1.1 系统要求
- 1.2 安装IIS8
- 1.3 下载安装 webdeploy
- 1.4 配置IIS
- 1.4.1 打开IIS管理器-=>管理服务![在这里插入图片描述](https://img-blog.csdnimg.cn/20210405191743123.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyNzkzMw==,size_16,color_FFFFFF,t_70#pic_center)
- 1.4.2 查看webdeploy是否运行
- 1.4.3 选择管理用户
- 1.4. 4添加用户
- 1.4. 5输入用户名密码
- 1.4. 5 点击网站管理用户权限=>允许用户把刚才输入的用户点选上
- 1.4. 6 双击网站中的server 点击基本设置
- 1.4. 6设置server 基本信息这里要用到web service所以选NET2.0
- 1.4. 7 点击连接为
- 1.4. 8 点测试设置查看设置是否正确
- 1.4. 9编辑权限
- 第二部分 Visual Studio2019 配置
- 总结:windows server 对网站的配置非常繁杂有一点设置不好就会出现各种问题对比nginx apach TOMCAT PHP 要简单的多。这也就是ASP.NET用的人越来越少的原因之一吧笔者花了五个小时的时间来总结这篇文章希望能对你有所帮助。
C# 语言可以直接应用到ASP.NET系统中对开发WEB应用非常的方便,但布属到IIS服务器中却非常的麻烦,有一步走错就是各种各样千奇百怪的毛病。着实让人头疼。为此笔者梳理了发布到服务器的一些方法供友友们参考。不对之处还望斧正。
第一部分 服务器配置
1.1 系统要求
1.1.1服务器操作系统 windows server 2012 2R
1.1.2 IIS 8
1.1.3 IIS_web_deploy_x64
1.2 安装IIS8
1.2.1在服务器端打开服务器管理理器选择(添加角色和功能)
1.2.2 下一步
1.2.3 选择基于角色或基于功能的安装=>下一步
1.2.4 选择从服务器池中选择服务器=>下一步
1.2.5 选择Web服务器(IIS)下面的所有项安装笔者已安装好了IIS
1.2.6 .NET Framework3.5功能一定要全部安装并激活HTTP
**点击安装等待安装结束。**这里提醒一下在安装IIS服务时一定要把管理服务安装上这点很重要。vs2019能不能布属到远程计算机上就靠它能不能被安装
1.3 下载安装 webdeploy
1.3.1 下载webdeploy
下载地址http://iis.net/downloads/microsoft/web-deploy
或到网页底部下载中文的,笔者下载了一个英文版的安装没有成功这是一个坑。下载的时候笔者是看也没看就下载了一个结果很悲催。
一定要下载中文版的
1.3.2 安装webdeploy
安装选择自定义安装把里面的所有项全部安装上,这一点又是一个坑如果不选择自定义安装的结果是没有~~**部署代理 **~~ 这个选项
笔者是三种方法全装了一次最后在一国外看到了一个解决方案如下图
https://stackoverflow.com/questions/31606976/ms-web-deploy-configuration-section-system-webserver-management-delegation-is
安装结束后查看服务选项中确保web部署代理服务与web应用程序代理控制器服务正在运行
1.4 配置IIS
1.4.1 打开IIS管理器-=>管理服务
设置的时候要停止服务 笔者的服务器地址是192.168.1.10 注意webdeploy 端口号笔者是默认端口:8172 SSL证书 wmsvc .设置完成重新启动计算机。
1.4.2 查看webdeploy是否运行
win+R 键 打开运行 输入CMD 打开CMD窗口 输入入netstat -an 回车
查看8172端口是否起动,如果没有8172端口查看一下服务是否运行,在服务中部署代理是否运行。看上图就知
1.4.3 选择管理用户
1.4. 4添加用户
1.4. 5输入用户名密码
1.4. 5 点击网站管理用户权限=>允许用户把刚才输入的用户点选上
1.4. 6 双击网站中的server 点击基本设置
1.4. 6设置server 基本信息这里要用到web service所以选NET2.0
1.4. 7 点击连接为
笔者用的特定用户是操作系统登录帐号
1.4. 8 点测试设置查看设置是否正确
1.4. 9编辑权限
笔者是server文件夹在C盘根目录下,这个目录要给与写的权限
添加两个用户分别是LOCAL SERVER和IIS_IUSRS
LOCAL SERVER和IIS_IUSRS给与完全控制权限重新启动服务器至此服务器配置完成
第二部分 Visual Studio2019 配置
2.1新建一个项目选择ASP.NET Web应用程序=>下一步
项目名称:Web_Services
保存位置:D:\web
框架是.NET Framework2.0 这里要注意框架必须与服务器端相匹配=>下一步=>创建一个空白的项目
点击Web_Services右键=>添加=>类
选择Web服务(ASMX)
添加一个方法Add HelloWorld()是在生成WSDL时系统自带的,可以删除或在这个基础上重新写一个你需要的方法
下面展示一些 内联代码片
。
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public int Add(int x,int y)
{
return x + y;
}
2.2 发布
点生成->然后发布
选Web服务器(IIS)=>下一步
选择Web部署=>下一步
2.3 回到服务器选中server右键=>部署=>启用WebDeploy
在启用Web Deploy发布窗口中 选择要为其授予发布权限的用户=>选择前面设置的admin用户
指定发布服务器连接的URL就是你远程服务器地址笔者的服务器地址是192.168.1.10:8172=>点设置
指定用于保存发布设置文件的位置=>笔者使用默认设置也就是桌面,设置后会在桌面生成一个配置文件(如下图)这个后面要用到
设置文件
下面展示一些 内联代码片
。
<?xml version="1.0" encoding="utf-8"?>
<publishData>
<publishProfile
publishUrl="https://192.168.1.10:8172/msdeploy.axd"
msdeploySite="server"
destinationAppUrl="http://192.168.1.10:80/"
mySQLDBConnectionString=""
SQLServerDBConnectionString=""
profileName="Default Settings"
publishMethod="MSDeploy"
userName="admin" />
</publishData>
2.3 用服务器生成的配置文件配置VS2019发布参数
点完成
完成后点发布=>发布结束后系统会自动弹出你发布的页面
输入:http://192.168.1.10/WebService1.asmx?wsdl
至此发布就完成了在服务器端会有发布的文件生成
有一点需要注意发布时如果要有目录在服务器端还要设置一下才可以=>选择目录浏览=>启用
网站调试结束这一项要关闭