none
关于C#启用Bits的一个问题 RRS feed

  • 问题

  •  

    public int CreateBITSVirtualDirectory(string vdirName, string vdirPath)
            {
                int result = 0;

                if (!Exists(vdirName))
                {
                    if (!Directory.Exists(vdirPath))
                        Directory.CreateDirectory(vdirPath);

                    int create = 0;
                    DirectoryEntry root = new DirectoryEntry(_iisRootPath);

                    try
                    {
                        DirectoryEntry entry = root.Children.Add(vdirName, "IIsWebVirtualDir");
                       
                        entry.Properties["Path"][0] = vdirPath;
                        entry.Properties["AccessRead"][0] = true;
                        entry.Properties["ContentIndexed"][0] = true;
                        entry.Properties["AppIsolated"][0] = 2;
                        entry.Properties["AccessScript"][0] = false;
                        entry.Properties["DontLog"][0] = false;

     

                        // 这里在 IIS7 下报错

    // **********
    //entry.Invoke("EnableBITSUploads", null);

                        // **********

     

                        entry.Properties["BITSUploadEnabled"][0] = true;


                        entry.CommitChanges();

                        SetVirtualDirectoryMimeType(entry, vdirName);

                    }
                    catch(Exception ee)
                    {
                        create = -1;
                        System.Windows.Forms.MessageBox.Show(ee.Message);
                    }

                }
                else
                {
                    result = 1;
                }

     

                return result;
            }

     

    以上代码为创建一个虚拟目录, 然后启用BITS服务, 在IIS6下正常, 但在IIS7下出现问题了.

    正常情况下(IIS6)启用bits服务后, 虚拟目录对应的物理文件夹下会生成一个文件夹 "BITS-Sessions",  但在IIS7下, 没有生成这个文件, 这时应用bits服务进行上传就会有问题

     

    请问, 设置DirectoryEntry 的哪个属性才能生成文件夹 "BITS-Sessions". 或者有其他方法

    谢谢了!!!

    2008年9月10日 8:19

答案

  • 你好!   我觉得你还是自己研究比较有意思,这些都是很常见的用法,msdn文档中有关于每一个类和方法的详细的解释,我想用不上多少时间你就可以弄懂,要相信自己,实际上如果你自己不去研究的话,我给你讲解你也不一定能弄的很明白。   请原谅我没有给出详细的解释,希望你能体谅我的用意。
    2008年9月13日 6:22
  • iis7跟iis6不同的方法。参见

    http://technet.microsoft.com/en-us/library/dd443517%28WS.10%29.aspx

     


    【孟子E章】
    2011年3月11日 9:29
    版主

全部回复

  • 你好!   我觉得你还是自己研究比较有意思,这些都是很常见的用法,msdn文档中有关于每一个类和方法的详细的解释,我想用不上多少时间你就可以弄懂,要相信自己,实际上如果你自己不去研究的话,我给你讲解你也不一定能弄的很明白。   请原谅我没有给出详细的解释,希望你能体谅我的用意。
    2008年9月13日 6:22
  • iis7跟iis6不同的方法。参见

    http://technet.microsoft.com/en-us/library/dd443517%28WS.10%29.aspx

     


    【孟子E章】
    2011年3月11日 9:29
    版主