gpt4 book ai didi

c# - WCF 服务作为 MVC 应用程序的一部分

转载 作者:太空狗 更新时间:2023-10-29 17:37:58 25 4
gpt4 key购买 nike

我有一个 MVC4 中的 Web 应用程序。我将托管在一个共享托管 提供商。我想用 WCF 服务扩展它以上传文件。 (WPF 桌面应用程序将允许用户直接从他们的 PC 上传文件。)

我宁愿以某种方式“一起”托管它以避免对存储目录的读/写访问出现问题,但我不知道如何做到这一点。

  1. 我应该在 MVC 应用程序中将 WCF 托管为 selfhost 吗?

  2. 我应该将 WCF 服务作为应用程序还是类库?

  3. 如何将其与 MVC 应用程序绑定(bind)在一起?

最佳答案

我终于找到了如何让它发挥作用。

在您的 MVC 应用 Web.config 中添加:

<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>

在您的路由配置中 ---> Global.asax 或 App_Start/RoutesConfig(取决于 MVC 版本)添加:

public static void RegisterRoutes(RouteCollection routes)
{
...
routes.Add(new ServiceRoute("hello", new ServiceHostFactory(), typeof(YourServiceClass)));
...
}

就是这样。现在您的服务出现在 localhost/hello 下或您部署应用程序的任何地方。

这默认使用 BasicHttpBinging。如果你需要其他的,你必须实现你自己的 ServiceHostFactory。据我观察,此方法仅适用于 HTTP 绑定(bind)。当我尝试添加 NetTcpBinding 时失败了。

关于c# - WCF 服务作为 MVC 应用程序的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19351081/

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