gpt4 book ai didi

c# - Azure 服务总线托管 REST 服务

转载 作者:太空宇宙 更新时间:2023-11-03 14:00:32 25 4
gpt4 key购买 nike

我正在尝试托管可从 Azure 服务总线中继的 REST 服务我看到this blog看起来它可以回答我的问题,但不幸的是,我得到了相同的结果。

这是我在尝试访问浏览器中的服务时收到的异常。

The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the service type with RequirementsMode setting as 'Allowed' or 'Required'.

如果我从连接到 Azure 服务总线的 ServiceHostFactory 中排除 Azure 端点注册(通过 basicHttpRelayBinding ),我不会收到此错误,并且可以点击本地服务。它与托管 RESTful 服务 (webHttpBinding) 和 Azure 服务总线中继绑定(bind) (basicHttpRelayBinding) 有关。

在 global.asax 中,我添加了服务托管

protected void Application_Start(object sender, EventArgs e)
{
// Add REST service hosting.
RouteTable.Routes.Add(new ServiceRoute("myservice/rest",
new CustomWebServiceHostFactory(typeof(IMyService)),
typeof(MyServiceProvider)));
}

我已将我的服务提供商装饰如下:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyServiceProvider : IMyService
{
...
}

在 IIS 中运行的服务接口(interface)的 web.config 具有以下值:

<configSections>
<sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</sectionGroup>
</configSections>

<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true">
<security mode="None"/>
</standardEndpoint>
</webHttpEndpoint>
</standardEndpoints>
...
</system.serviceModel>

有什么想法吗?

最佳答案

我可以建议您尝试我的这个博客,其中显示了完全相同的问题以及根本原因和解决方案,尝试应用该建议并让我们知道:

http://blogs.msdn.com/b/avkashchauhan/archive/2011/11/17/wcf-rest-http-application-connecting-azure-service-bus-using-webhttprelaybinding-causes-aspnetcompatibilityenabled-error.aspx

关于c# - Azure 服务总线托管 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com