最近在做C# 工具是VS2013.需要做IIS承载WEBSERVICES.
遇到如下问题(附带解决方案--留待备份查看):
服务器IIS由.netfrmwork 2.0转为4.0出现问题如下
1.无法识别的属性“targetFramework”。请注意属性名称区分大小写
引用网页 http://www.cnblogs.com/dongchi/p/4940053.html
解决方法:修改.NET Framework 版本为相应版本即可
1、打开IIs点击IIS根节点
2、看右边的“操作”-》点击“更改.NET Framework 版本”
3、选择相应的版本,我这里应该选择v4.0.30319,点击确定
4、点击IIS的应用程序池
5、在右边“操作”栏里选择“应用程序默认设置...”
6、把“.NET Framework 版本”设置为v4.0,点击“确定”即可。
2.处理程序“svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
引用网页 http://www.cnblogs.com/q4486233/p/3779378.html
原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装
解决:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
如果还不行,可检查IIS的应用程序池,是否使用集成模式,如果不是则改成集成模式
3.由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
原因有二:1.iis7:控制面板-》打开或关闭windows功能-》Internet信息服务-》万维网服务-》应用程序开发功能,勾选上“.net扩展性”和“ASP.NET”,保存后,重启IIS服务器即可。
iis8:控制面板-》打开或关闭windows功能-》Internet信息服务-》万维网服务-》应用程序开发功能,勾选上“.net Extensibility3.5” 及等带.net的选项,保存后,重启IIS服务器即可。
iis默认安装的时候是没有勾选这些选项的。
2.找到Visual Studio 2010 命令提示工具中。然后用管理员身份运行,输入命令 aspnet_regiis -i
4.请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径。
打开C:\Windows\System32\inetsrv\config路径
找到applicationHost.config文件,右键先取得管理员权限。
找到hiddensegments节点,把这个节点下包含在你的网站中的目录删掉就行了。设置在这个节点下的目录就会被拒绝访问。
5.发布的IIS中需要绑定IP 并在配置文件中加一行配置:
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
位置加在:</behaviors> 的下一行 可以让别的电脑同过访问IP 访问 通过访问主机名无法访问成功
6.NuGet获取最新版本DLL 工具-->NuGet程序包管理器-->程序包管理器控制台
输入:Install-Package NHibernate 回车
输入:Install-Package FluentNHibernate 回车
7.使用了托管的处理程序,但是未安装或未完整安装 ASP.NET
CMD下输入:
"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable
8.调用方未由服务进行身份验证
服务端:
<system.serviceModel>下加:
<bindings>
<wsHttpBinding>
<binding name="NoneSecurity" maxBufferPoolSize="12000000" maxReceivedMessageSize="12000000" useDefaultWebProxy="false">
<readerQuotas maxStringContentLength="12000000" maxArrayLength="12000000" />
<security mode="None" />
</binding>
</wsHttpBinding>
</bindings>
endpoint 加节点bindingConfiguration :
<endpoint address="" binding="" contract="" bindingConfiguration="NoneSecurity">
客户端调用时需要制定binding 模式为NULL。
9. IIS发布后因权限问题,无法使用外部文件
方案如下:IIS管理器——应用程序池——设置应用程序池默认设置——进程模型——标识,
这个标识里面有内置账户和自定义账户,我设置自定义账户,然后填上Administration(必须是管理员账户或者拥有管理员权限的账户)和密码。