gpt4 book ai didi

c# - 将 WCF Restful 服务添加到现有的 ASP.Net 网站

转载 作者:太空狗 更新时间:2023-10-29 22:23:47 25 4
gpt4 key购买 nike

我正在尝试向我现有的 asp.net 4.0 网站(不是 mvc)添加一个 wcf restful 服务。我发现很难找到一个很好的教程来逐步将一个添加到现有的应用程序/网站。我看到的每个地方都有关于创建新项目的注释(使用 wcf restful 模板)。基本步骤是什么?因为我在 .net 4.0 上,所以我可以在没有 .svc 文件的情况下执行此操作吗?有什么教程可以指给我看吗?

到目前为止,我已经尝试添加 IService.cs 和 Service.cs 类来定义服务契约并使用 webinvoke/webget 属性,在 global.asax 中添加路由,在 web.cong 中添加服务定义,如本教程 http://www.codeproject.com/Articles/255684/Create-and-Consume-RESTFul-Service-in-NET-Framewor 所示,但是当我指向 localhost/restservice 时,我收到 404 not found。

更新:这就是我的配置文件中的内容。请注意,这是一个现有的基于 wcf soap 的服务。

<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="migrationServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="migrationHttpBinding" maxBufferSize ="104857600" maxReceivedMessageSize="104857600"/>
</basicHttpBinding>
</bindings>
<services>
<service name ="Site.Web.WebService.MigrationService" behaviorConfiguration="migrationServiceBehavior">
<endpoint binding="basicHttpBinding"
bindingConfiguration="migrationHttpBinding"
contract="Site.Web.WebService.IMigrationService"/>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
</system.serviceModel>

最佳答案

WCF REST 服务不需要任何 *.svc 文件 - 您可以使用 ServiceRoute 激活它 - 请参阅 RESTful WCF Services with No svc file and No config以获得很好的解释。

基本上可以归结为将 ServiceRoute 添加到 global.asax 中的路由表:

protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(),
typeof(YourService)));
}

关于c# - 将 WCF Restful 服务添加到现有的 ASP.Net 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090403/

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