c# - 如何访问有关 WCF 服务部署位置的信息

标签 c# .net wcf iis-7 hosting

我在 IIS7 中托管的多个网站中部署了一项 WCF 服务,有时在 VS2010 中部署了(开发环境)。

通常多个实例连接到同一个数据库,通常它不是只读访问的问题,但有时(比如在日志记录中)我需要唯一标识访问数据库的服务实例。

目前我通过在 web.config 中放置特殊属性来实现,稍后我将把它用作主键的一部分,但我确实觉得它不是理想的解决方案。

如果托管在 IIS 中,我会考虑站点名称;如果托管在 VS2010 中,我会考虑机器名称 + 端口。

问题来了:如何访问有关 WCF 服务部署位置的信息以及如何从已部署的服务内部以编程方式在 C# 中执行此操作?有可能吗?

感谢您的建议。 迈克尔

最佳答案

前几天有一个关于如何获取 WCF 服务器的 IP 地址的问题,用于日志记录。本主题可能有所帮助:How to get IP address of WCF web service


您还可以通过使用 System.Diagnostics.Process.GetCurrentProcess() 找出您的应用正在运行的进程来确定您是否在 IIS 中运行,并查看它是否是“w3svc. exe”,这是 IIS 应用程序池运行的方式。

关于c# - 如何访问有关 WCF 服务部署位置的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523642/

相关文章:

c# - 使用 LINQ 按多个表中的多个属性有条件地对元素进行排序

c# - 不区分大小写的正则表达式

c# - 使用 LINQ 在 LIST 中的最大和最小日期之间添加缺失日期列表

c# - 如何允许在 MessageBox 上复制消息

wcf - ado.net 数据服务相对于 WCF 服务的优点/缺点

c# - 什么可能导致本地 WCF 命名管道上的 EndpointNotFoundException?

c# - 有没有一种方法可以像脚本一样在应用程序中解析/运行 C#?

c# - 默认 TabItem 背景颜色

c# - SharpZipLib:1 不是受支持的代码页

WCF - 部署证书