wcf - 如何自动化/安排托管在 IIS 中的 WCF 服务调用?

标签 wcf iis iis-7 powershell

我有一个非常简单的服务契约(Contract),用于管理自己的数据导入,类似于:

using System.ServiceModel;

namespace Company.Services.Domain.Contract
{
    [ServiceContract(Name = "ImportService", Namespace = "http://services.company.org/")]
    public interface IImportService
    {
        [OperationContract]
        ImportResponse ImportData();
    }
}

我想设置一个计划任务或类似的东西来每天执行这个调用。我知道我可以编写一个控制台应用程序并通过 svcutil 创建一个代理。 但是有没有办法在 IIS 中本地配置它(可能是 IIS 扩展)?或者我可以用 PowerShell 实现一些简单而优雅的东西吗?

只是想知道我的选择是什么。

最佳答案

您可以拥有一个使用 IIS auto-start 的 IIS 托管应用程序,假设您至少运行 7.5 版的 IIS。自动启动不会在计时器上运行,但有助于确保您的应用程序始终运行。 IIS 启动应用程序后,您的代码可以启动 timer每天调用 WCF 服务。

当然,计时器将在代码中实现。简单计时器实现的示例包括 this , this , 和 this .

如果您使用的是 ASP.NET,则将计时器启动代码放在自动启动应用程序的 global.asax 文件中的 Application_Start 方法中。

关于wcf - 如何自动化/安排托管在 IIS 中的 WCF 服务调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899050/

相关文章:

apache - IIS7中的通配符子域。是否可以使它们像Apache中一样?

jquery - 从 jQuery 调用 ASP.NET 4.0 WCF 服务会产生 400 Bad Request

WCF - 通过 HTTPS 使用 SOAP 服务 - 请求超时

c# - IIS 中的 WCF NetTcpBinding

c# - 在 Visual Studio 2013 中更改项目端口号

iis-7 - IIS7 ISAPI 过滤器模块和 HttpModule 事件 - 它们如何排列?

c# - 如何在 C# 中从 Windows/wcf 服务获得最佳性能?

wcf - 没有 WCF 数据服务的 OData 服务

node.js - 如何在 Windows IIS 中托管 React.js 和 Node.js 应用程序?

c# - 以编程方式远程管理 IIS 6 及更高版本