(一)C#WebService服务在Windows7的部署
一、在控制面板,程序与卸载中安装IIS组件。
二、IIS无法显示WebService的.asmx文件。解决办法:注:(这里可以不用考虑,直接参考:后面节:遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效。”)
1、如果你是先安装的vs后再安装的IIS的话先注册一下IIS:
命令行转到目录:C:WindowsMicrosoft.NETFrameworkv2.0.50727 下执行命令:使用VS的命令行,输入命令:aspnet_regiis -i,重新注册.net环境。
2、如果命令行运行提示出错,可尝试用管理员身份运行(win7)。
更新完后,IIS配置的应用程序池的.NetFramework版本为v4.0。
三、进入IIS管理器选择建立或选择一个网站,再右键添加虚拟目录,将物理路径指向你的WebService工程,完成后选择虚拟目录右键执行“转为应用程序”操作,浏览:http://localhost/虚拟目录的别名/Service.asmx,页面显示调用的方法。
四、部署IIS
1、添加站点
2、添加虚拟目录
3、转换为应用程序
4、点击确定。
5、修改“默认文档”.
6、添加 *.asmx文件
7、选中webservice 应用程序,点击右侧的浏览即可。
五、设置URL地址
1、去除.asxm后缀也能调用,例如:
正常的调用方法为:http://localhost/WebServiceServer/WebService1.asmx
要改为:http://localhost/WebServiceServer/WebService1?wsdl
(1) 在webservice服务创建时,添加Global.asax全局文件。
(2) 打开Global.asax文件,添加代码:
protected void Application_BeginRequest(object sender, EventArgs e)
{
string path = Request.Url.ToString();
path = Request.Url.LocalPath.ToString();
if (!path.Contains("/WebService1.asmx"))
{
if (path.Contains("/WebService1"))
{
Context.RewritePath(path.Replace("/WebService1", "/WebService1.asmx"));
}
}
}
六、新建站点
1、
2、
3、
4、
参考资料:
1、http://blog.sina.com.cn/s/blog_6abb49260100lc8z.html
2、http://www.doc88.com/p-418980892612.html
3、http://q.cnblogs.com/q/54872/
4、http://blog.sina.com.cn/s/blog_585657900100036h.html
转自:https://www.cnblogs.com/czhelp/p/3980614.html
(二)遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效。”
解决方法:
控制面板-->程序和功能-->打开或关闭windows功能-->角色
的这里,如果还未安装“web服务器(IIS)”,则选择“添加”。
如果已经安装了,则选择“web服务器(IIS)”-->添加角色服务。
选择“应用程序开发(已安装)”-->“ASP.NET”。注:勾选这个就可以了
win7下为
查看网页错误,请看这篇文章https://www.cnblogs.com/liushui-sky/p/10522361.html
另其他类似错误一:
HTTP Error 500.19 - Internal Server Error
配置错误: 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的 (overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。
出现这个错误是因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。要取消锁定可以运行命令行 %windir%system32inetsrvappcmd unlock config -section:system.webServer/handlers 。其中的 handlers 是错误信息中红字显示的节点名称。
如果modules也被锁定,可以运行%windir%system32inetsrvappcmd unlock config -section:system.webServer/modules
另外,如果使用Asp.net的朋友,在安装IIS7的时候一定记得勾选Asp.net,默认不选,也会出现类似的错误信息
另其他类似错误二:
HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。
详细错误信息模块 IIS Web Core
通知 BeginRequest
处理程序 尚未确定
错误代码 0x80070005
配置错误 由于权限不足而无法读取配置文件
原文件夹,右击选择它的属性,打开“安全”选项卡,看到“组或用户 名”,单击“编辑”按钮添加一个新的用户名“Everyone”,然后更改它的权限,将第二个权限“修改”设置为允许就可以了。
转自:https://www.cnblogs.com/delphinet/archive/2010/03/25/1694960.html
(三)IIS网站本机可以访问,局域网其他机器无法访问
-
【开始】打开【控制面板】,选择【WINDOWS 防火墙】,进入
-
-
1.选择【端口】,下一步;
2.选择【TCP】以及【特定本地端口】,填入要开放的端口号(或开放所有端口,可以以逗号分隔多个端口),下一步;
3.【允许连接】,下一步;
4. 网络类型全部勾选,下一步;
5.【名称】中填入自定义名称,如:IIS 【完成】。
END