在没有 Web 项目的情况下向我的 svc 文件添加信息?

发布于 2024-09-09 09:08:16 字数 685 浏览 5 评论 0原文

我在这里遵循本指南:

http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/09/16/integrating-structuralmap-and-nhibernate-with-wcf.aspx

现在已经到了在它的末尾我需要添加:

<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.ComboService" Factory="Wcf.DIServiceHostFactory" %>

到我的 svcfile, 问题是我没有 svcfile,根据这篇文章,您必须添加来自 Web 应用程序的引用才能获取它: 添加缺少的 .svc 文件

真的没有办法做到这一点吗?或者也许让这个代码在没有 svc 文件的情况下工作?

I'm following this guide here:

http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/09/16/integrating-structuremap-and-nhibernate-with-wcf.aspx

And has now come to the end of it where i need to add :

<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.ComboService" Factory="Wcf.DIServiceHostFactory" %>

to my svcfile,
the problem is that i dont have an svcfile and according to this post you must add a reference from a Web-application to get it:
Adding .svc file missing

Is there really no way to do this? or maybe make this code work without the svc-file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瀟灑尐姊 2024-09-16 09:08:16

.svc 文件只是一个具有不同扩展名的文本文件,因此无论您使用哪种 Visual Studio 解决方案,您始终可以将其添加为文本文件。

它没有被编译,而是与 WCF 二进制文件一起放置,指示 IIS 如何创建服务实例。如果配置正确,IIS 会解释 .svc 文件并从二进制文件启动服务。

但是,如果您不想在 IIS 中托管服务,则不需要 .svc 文件。您可以仅使用 ServiceHostFactory 手动启动服务:

var factory = new Wcf.DIServiceHostFactory();
var host = factory.CreateServiceHost(typeof(Wcf.ComboService), baseAddresses);
host.Open();

这称为自托管

An .svc file is just a text file with a different extension, so you can always add it as a text file, no matter what sort of Visual Studio solution you use.

It's not compiled, but rather sits alongside the WCF binaries, instructing IIS on how to create service instances. If configured correctly, IIS interprets the .svc file and spins up the service from the binaries.

However, if you don't want to host your service in IIS, you don't need an .svc file. You can just use the ServiceHostFactory to manually spin up the service:

var factory = new Wcf.DIServiceHostFactory();
var host = factory.CreateServiceHost(typeof(Wcf.ComboService), baseAddresses);
host.Open();

This is called self-hosting.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文