加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用MVC和WebAPI避免使用Resharper web.config警

发布时间:2020-12-15 22:45:43 所属栏目:asp.Net 来源:网络整理
导读:ReSharper 7.1.1代码检查错误地报告 location web.config文件中的元素如果涉及到与源树中的文件夹不直接对应的URL,则是冗余的.如果您正在使用ASP.NET MVC或Web API,那么将URL路径直接与任何特定的物理文件夹对应是很正常的. 如果您运行解决方案范围的检查,您
ReSharper 7.1.1代码检查错误地报告< location> web.config文件中的元素如果涉及到与源树中的文件夹不直接对应的URL,则是冗余的.如果您正在使用ASP.NET MVC或Web API,那么将URL路径直接与任何特定的物理文件夹对应是很正常的.

如果您运行解决方案范围的检查,您会收到两个警告,我已经能够禁用其中一个警告,但是我无法解决如何禁用第二个警告.

第一个是“冗余位置元素”警告. ReSharper淡出整个位置部分.这里有一个例子,它会淡出的东西:

<location path="FederationMetadata">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

如果您通过ACS使用联合登录,并且想要为其提供元数据端点,则需要此配置.但是这个名字没有相应的路径.

(严格来说,这个特定与MVC或Web API无关,我给出了这个例子,因为它是一个常见的例子,但是我的项目还有几个< location>元素对应于通过MVC和Web API路由配置处理的路径,他们有同样的问题,根本原因似乎是一样的:ReSharper在项目中看不到与此位置相对应的任何内容,所以它错误地总结出来,它影响MVC和Web API控制器,由于诸如模块之类的任何可用路径.)

很容易摆脱这个第一个警告:您可以在检查严重性设置中关闭它.

然后,您将得到第二个警告:“位置元素未使用:在FederationMetadata处找不到项目项”(以及具有相应的< location>元素的每个控制器的类似警告).

当您检查整个解决方案时,此“检查结果”面板中将显示该检查结果.当您查看源文件本身时,都不会显示常见的检查小部件.而且奇怪的是,这似乎没有选择被禁用.

我知道你可以右键单击并选择“隐藏…”(虽然这似乎认为这是一个“冗余位置”问题,我已经在设置中禁用了),但据我所知,隐藏检查结果是本机的机器.我想配置团队共享点集,以便它不会在任何地方显示此警告.

我的目标是为所有用户提供清洁检查结果,而不会使每个用户隐藏结果. Resharper正在虚假地报告这个问题 – web.config很好,只是R#被误解了.有人知道我能如何让第二个警告消失? (或者更好的是,有没有办法让R#能够知道这些“隐藏”的位置确实存在?)

解决方法

我刚加入:
<!-- ReSharper disable WebConfig.RedundantLocationTag -->
  <!-- ReSharper disable WebConfig.WebConfigPathWarning -->
  <location path="api">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
  <!-- ReSharper restore WebConfig.RedundantLocationTag -->
  <!-- ReSharper restore WebConfig.WebConfigPathWarning -->

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读