IIS6中给Framework2,。0站点的虚拟目录(2.0版本)下发布Web API项目(4.0版本)问题处理

Web-API项目以虚拟目录形式部署到IIS6/IIS7

若原有站点为Framework2.0版本,在此站点(或虚拟目录站点)下,新增API虚拟目录,然后选择Framework4.0版本,IIS6和IIS7配置有所不同。

IIS6配置:

1)        在主站A中的web.config中,添加<location>节点,要包住<system.web>

和<system.codedom>,节点内容如下:

<location path="." allowOverride="true" inheritInChildApplications="false">

2)         在主站A中的web.config中,删除sectionGroup的“system.web.extensions”、“scriptResourceHandler”、“jsonSerialization”、“profileService”、“authenticationService”、“roleService”的节点;(因为子站中的引用配置与主站重复了。)

3)         虚拟目录转成应用程序:

4)         在IIS中,添加MVC的解析:

5)         以上便完成配置;

IIS7配置:

1)         按照IIS6上面的配置进行,省略第4步骤。

2)         api站点选择“集成模式”

遇到的问题解决方法:

1.

解决方式:webconfig配置文件中的<configuration>节点内增加如下配置文件

<system.codedom>
  <compilers>
   <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
     <providerOption name="CompilerVersion" value="v4.0"/>
     <providerOption name="WarnAsError" value="false"/>
   </compiler>
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
   <providerOption name="CompilerVersion" value="v4.0"/>
   <providerOption name="OptionInfer" value="true"/>
   <providerOption name="WarnAsError" value="false"/>
   </compiler>
   </compilers>
 </system.codedom>
时间: 2024-10-08 15:53:10

IIS6中给Framework2,。0站点的虚拟目录(2.0版本)下发布Web API项目(4.0版本)问题处理的相关文章

在IIS7.5上添加.NET4.0程序的虚拟目录时提示ASP.NET 4.0尚未在 Web 服务器上注册

使用VS2010创建web应用程序时出现如下提示: ASP.NET 4.0尚未在 Web 服务器上注册. 解决方法: 首先IIS应用程序池添加 net framework4.0版本. 接着找到C:\Windows\Microsoft.NET\Framework\v4.0.30319 这个目录 然后  开始->所有程序->附件->鼠标右键点击“命令提示符”CMD->以管理员身份运行- >CD\ >CD C:\Windows\Microsoft.NET\Framework\

在ASP.NET Web API项目中使用Hangfire实现后台任务处理

当前项目中有这样一个需求:由前端用户的一个操作,需要触发到不同设备的消息推送.由于推送这个具体功能,我们采用了第三方的服务.而这个服务调用有时候可能会有延时,为此,我们希望将消息推送与用户前端操作实现异步执行,就是希望在后台自动执行,不阻塞前端用户的操作,而且最好能实现失败重试等功能. 经过一些研究比较,我们发现使用Hangfire这个组件可以较好地实现这个需求.为了给大家做一个演示,我这里简化了代码,做一个范例程序. 我在这里不准备详细介绍Hangfire的基本用法,有兴趣的同学们可以参考官方

Web API项目中使用Area对业务进行分类管理

在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加很快,难以管理,而且如果有不同业务模块有重复的控制器名的话,还需要尽量避免.引入Area的作用就是把控制器按照不同的业务模块进行区分,方便管理,而且控制器名称可以重名. 1.Web API项目引入Area进行分类 Area在项目中可以称之为区域,每个Area代表应用程序的不同功能模块,Area 使每

在Docker容器中运行.Net Core web Api项目

安装Docker环境 参考本人这篇<CentOS 7 下Docker的安装>文章进行安装以及环境配置,这里不做赘述. 通过.NetCore开发WebApi项目 1. 创建.Net Core Web项目,如下图所示: 这里我们选择Web API模板进行项目创建,为了简单起见,我们不做身份验证,也不选择 Host in cloud,点击ok项目及创建好 默认的项目文件结构如图所示: 在cmd 执行dotnet restore 恢复依赖包 运行项目,在浏览器就可以查看到结果 至此,一个简单的.Net

Apache配置站点与虚拟目录

一.单站点配置: 在apache中,配置一个站点是最基础的配置,在这里我只是要配置一个最基础的WEB站点,因此配置方式也是 非常简单,具体配置方式如下: #########主站点配置########### #侦听端口 Listen 80 #站点域名 ServerName www.test.cn #站点文件主目录 DocumentRoot /data/www/test #该站点限制 <Directory /> AllowOverride None Order deny,allow Deny fr

IIS下 多站点 利用虚拟目录 访问共用(图片)文件夹

预期目的:站点A 和 站点B 共用同一个图片文件夹C 实现方式是: 在站点下添加虚拟目录 使虚拟目录指向共用文件夹 站点下的页面 使用图片的访问方式示意:<image src="C/1.png" />其中 C为虚拟目录 IIS的站点布局示意: --网站----Default Web Site------应用程序A http://localhost/A/index.html--------虚拟目录C 指向D:\www\C------应用程序B http://localhost

#Apache#多站点与虚拟目录配置

1.修改配置文件 Apache\conf\httpd.conf 找到 LoadModule vhost_alias_module modules/mod_vhost_alias.so     去掉前面的# 找到 Include conf/extra/httpd-vhosts.conf                                               去掉前面的# 2.多站点配置 Apache\conf\extra\httpd-vhosts.conf 增加(几个站点就增加

2种方式解决nginx负载下的Web API站点里swagger无法使用

Web API接口站点,引入了swagger来实时生成在线的api文档,也便于api接口的在线测试.swagger:The World's Most Popular Framework for APIs. 本地测试没有问题. 发布到生产,问题出现了.——线上部署的站点是用nginx做的3个节点的负载.nginx配置了公开的域名,并且与3个节点iis上的站点做了映射.3个单节点的端口不是默认的80,由此问题产生了:当访问swagger时,swagger自动获取的文档的url包含了这个端口,因为站点

C#获取IIS所有站点及虚拟目录和应用程序(包含名称及详细信息)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.DirectoryServices; using System.Diagnostics; namespac