VS2012自动创建带帮助的WebAPI(HelpPage使用方法)

1、一个普通的webapi项目——在nuget中添加Microsoft.AspNet.WebApi.HelpPage,我目前看到的是5.2.7版本,选择安装。

安装完成后,直接运行程序,发现有错误:

[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 [B]System.Web.WebPages.Razor.Configuration.HostSection。类型 A 源自“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置处)。类型 B 源自“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\vs\7c8c73ea\276d1f7a\assembly\dl3\bcb56233\13f69195_030fd701\System.Web.WebPages.Razor.dll”位置处)。

解决办法:

打开Views目录的Web.config文件,替换sectionGroup节点。

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>

再次允许程序,正常!

此时你可以可以打开help页面,http://localhost:3048/help,但打开后帮助文档没有内容

2. 注册 Area

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
}

注:我打开Global.asax.cs,原先就有这段代码,没有再次手工添加

3. HelpPageConfig 启用 SetDocumentationProvider

 WebApplication/Areas/HelpPage/App_Start/HelpPageConfig.cs 目录下,找到下面代码,并取消注释(App_Data 改为 bin):

public static void Register(HttpConfiguration config)
{
     Uncomment the following to use the documentation from XML documentation file.
    config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/bin/XmlDocument.xml")));
}

4. WebApplication Build 配置 XmlDocument 输出路径

5. ValuesController 代码

我的工程是原先参数定义没有按照规范,把json封装成了string字段传过来再解析,更好的参数定义方式是直接作为一个一个参数或者封装成类,网上很多资料可以参考。

6. 效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值