【问题标题】:How to use Web API with HostGator Windows shared plan?如何将 Web API 与 HostGator Windows 共享计划一起使用?
【发布时间】:2017-10-28 02:58:26
【问题描述】:

我在HostGator 上有一个共享计划。我想在我的网站上创建 Web API 服务,但由于安全问题而崩溃:

网址:

http://example.com/api/welcome/Mitulat

代码:

// GET api/welcome/5
public string Get(string id)
{
    return "Hello " + id + "!";
}

web.config 文件:

 <system.web>
   <customErrors mode="Off"/>
   <compilation targetFramework="4.5" />
   <httpRuntime targetFramework="4.5" />
 </system.web>

在本地它可以工作,但是当我将它上传到服务器时,页面显示:

说明:应用程序试图执行安全策略不允许的操作。授予此申请 所需权限请联系您的系统管理员或更改 配置文件中应用程序的信任级别。

异常详情System.Security.SecurityException: Request failed.

支持人员说应用程序必须以中等信任级别发布,所以我将此行添加到web.config 文件的&lt;system.web&gt; 部分:

<trust level="Medium"/>

现在页面显示:

说明:处理此请求所需的配置文件时出错。请查看 下面的具体错误详细信息并修改您的配置文件 适当地。

解析器错误消息:此配置部分不能用于此路径。当站点管理员已锁定访问权限时会发生这种情况 使用&lt;location allowOverride="false"&gt; 从一个 继承的配置文件。

支持人员说我不应该使用此功能。这是真的吗?我的意思是 HostGator 服务于数百万个网页。我敢打赌他们中的一些人使用 Web API ...... 我被卡住了。

【问题讨论】:

    标签: .net windows asp.net-web-api shared-hosting


    【解决方案1】:

    经过 2 天的研究,与“支持”的另外 3 次对话,以及基于此问题的 Hostgator 共享计划中成功执行 Web API 请求的精神崩溃。

    Getting Error <location allowOverride="false"> while hosting WEB API 2 in Hostgator

    没有这个我不知道我会做什么......

    简介:

    即使没有 Roslyn,您也可以在不更改代码的情况下进行部署。打开 NuGet 包管理器窗口并卸载 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包并重新构建和重新发布。此卸载还会从 web.config 文件中删除 CodeDom 配置。这将解决您的目的。基本上这不会在 bin 文件夹内生成任何 csc.exe、vbc.exe 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 2018-09-07
      • 2012-02-16
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多