【问题标题】:How to make Installer using WCF如何使用 WCF 制作安装程序
【发布时间】:2011-06-29 06:59:58
【问题描述】:

我有一个控制台应用程序。该应用程序在服务器上调用 WCF。 该应用程序在 Visual Studio 2008 中完美运行。

错误:

我在 Visual Studio 中使用了一个安装程序项目。 我让安装程序将主要输出提供给应用程序。 它无法连接到服务器上的 WCF。

制作具有控制台(应用程序)exe的安装程序需要哪些步骤, 而后者又使用 WCF。

我的作用域初始化从 initScopeInfo 开始。

   private void initScopeInfo()
       {
        DBSyncProxy.SqlSyncProviderProxy client = null;            
        ScopeConfigHandler scopeHandler = null;
        try
        {

    //Providing the Config file name('db_config_new.xml') stored in static variable.    
            DBSyncXMLUtil.setXPathDocument(DBSyncConstants.DB_SYNC_CONFIG_FILE_NAME);

            //DBSyncXMLUtil.setXPathDocument(filepath);
            string endpoint = DBSyncXMLUtil.getSystemParameter(DBSyncXMLUtil.getDocumnetRoot(), "ServiceURL");

在 setXpathDocument 中

     public static void setXPathDocument(string uri)
      {
public static XPathDocument doc = null;

        doc = new XPathDocument(uri);
    }
     public static string getSystemParameter(XPathNavigator docroot, string key)
    {
        string value = null;
        try
        {
            string xpath = DBSyncConstants.XPATH_SYSTEM_PARAMETER;
            xpath += "[@key='" + key + "']";

            Console.WriteLine("DBSyncXMLUtil :: getParameter() :: XPATH =="+xpath);

    Probably  Error on below mentioned line

            XPathNavigator node = getDocumnetRoot(doc).SelectSingleNode(xpath);
            if (node != null)
                value = node.Value;
            else
                Console.WriteLine("Invalid XPATH");
        }
        catch (Exception ex)
        {
            Console.WriteLine("DBSyncXMLUtil :: getSystemParameter() :: Exception ==" + ex.ToString());
        }
        return value;
    }

【问题讨论】:

  • 您应该提供更多详细信息——也许是一些与您如何调用 WCF 服务相关的示例代码?有任何错误信息吗?
  • 您的控制台应用程序是否由另一个应用程序启动?在这种情况下,它将尝试通过此应用程序的名称查找 WCF 客户端配置;像 WhatEverApp.exe.config 而不是 YourConsoleApp.exe.config。
  • 你没有提供足够的细节让任何人告诉你哪里出了问题。您是在另一台机器上安装应用程序吗?您是否在与控制台应用程序相同的机器上运行它?你配置正确了吗?

标签: c# asp.net wcf


【解决方案1】:

实际上,您无法通过添加 WCF 服务的主要输出来直接创建安装程序项目。您应该在 windows 服务中托管 WCF 服务,并将 windows 服务的主要输出添加到安装程序项目中。

  1. 创建一个 WCF。

  2. 创建一个 Windows 服务并在其中托管 WCF(从 Windows 服务调用 WCF)。

  3. 创建安装项目(安装程序项目)。

  4. 将 Windows 服务的主要输出添加到安装程序项目中。

查看此链接以查看托管详细信息...

http://msdn.microsoft.com/en-us/library/ms733069.aspx

请参阅此博客。它将帮助您实现windows服务...

http://joefreeman.co.uk/blog/2010/03/creating-a-setup-project-for-a-windows-wcf-service-with-visual-studio/

【讨论】:

  • 在我看来,OP 正在尝试为 WCF client 而不是服务创建安装程序。
  • 我倾向于同意@Anton。我认为安装程序适用于向 WCF 服务发出请求的控制台应用程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
相关资源
最近更新 更多