Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过Web服务C在IIS-7中托管Asp.net应用程序#_C#_Asp.net_Web Services - Fatal编程技术网

C# 通过Web服务C在IIS-7中托管Asp.net应用程序#

C# 通过Web服务C在IIS-7中托管Asp.net应用程序#,c#,asp.net,web-services,C#,Asp.net,Web Services,我尝试了下面的代码…当我从windows应用程序运行这些代码时,它工作得非常好。但是相同的代码没有被web服务执行。它复制了文件夹,但是wwwroot目录,但是没有在IIS上托管。请帮助我 public void HostInSerevr(string client4) { try { string strWebsitename = client4; // abc string strApplicat

我尝试了下面的代码…当我从windows应用程序运行这些代码时,它工作得非常好。但是相同的代码没有被web服务执行。它复制了文件夹,但是wwwroot目录,但是没有在IIS上托管。请帮助我

    public void HostInSerevr(string client4)
    {
        try
        {
            string strWebsitename = client4; // abc
            string strApplicationPool = "DefaultAppPool";  // set your deafultpool :4.0 in IIS
            string strhostname = client4.ToLower() + ".clouddunk.com"; //abc.com
            //string stripaddress = txtipaddress.Text;// ip address
            string bindinginfo = "*:" + "80:" + strhostname;
            //string bindinginfo = strhostname;
            string websitePath = @"C:\inetpub\wwwroot" + "\\" + "ATP_" + client4;
            //=@"C:\inetpub\wwwroot"

            //check if website name already exists in IIS
            Boolean bWebsite = IsWebsiteExists(strWebsitename);
            if (!bWebsite)
            {
                //Site mySite = serverMgr.Sites.Add(strWebsitename.ToString(), "http", bindinginfo, @"C:\inetpub\wwwroot\yourWebsite");
                Site mySite = serverMgr.Sites.Add(strWebsitename.ToString(), "http", bindinginfo, websitePath);
                mySite.ApplicationDefaults.ApplicationPoolName = strApplicationPool;
                mySite.TraceFailedRequestsLogging.Enabled = true;
                mySite.TraceFailedRequestsLogging.Directory = @"C:\inetpub\CustomLog";
                mySite.ServerAutoStart = true;

                serverMgr.CommitChanges();

                string path = @"C:\Windows\System32\drivers\etc\hosts";

                //DirectoryInfo di = new DirectoryInfo(path);
                //FileInfo[] files = di.GetFiles("*.File").Where(p => p.Extension == ".File").ToArray();
                //if (files.Count() > 0)
                //{
                string writeText = "127.0.0.1" + " " + strhostname;
                File.AppendAllText(path, Environment.NewLine + writeText);
                //}
            }
        }
        catch { }
    }
    public bool IsWebsiteExists(string strWebsitename)
    {
        Boolean flagset = false;
        SiteCollection sitecollection = serverMgr.Sites;
        foreach (Site site in sitecollection)
        {
            if (site.Name == strWebsitename.ToString())
            {
                flagset = true;
                break;
            }
            else
            {
                flagset = false;
            }
        }
        return flagset;
    }

这里发生了什么错误?代码中没有错误。它已经完美地执行了,除了IIS托管代码(没有发生错误,但是它没有被托管)之外,所有任务都在执行中。public void HostInSerevr(string client4){}