2009-03-18 39 views
12

Tôi cần triển khai dịch vụ web của mình. Nó cần chạy trong một nhóm ứng dụng riêng biệt trong IIS với thông tin đăng nhập riêng của nó.Làm cách nào để tạo hồ bơi ứng dụng mới trong Dự án Thiết lập Web?

Có thể thực hiện việc này bằng cách sử dụng Dự án thiết lập web trong VS 2008 không?

Theo mặc định, tôi dường như chỉ có thể chọn một nhóm ứng dụng hiện có.

Trả lời

7

Tôi đã đi xuống đường này trước và rất tiếc bạn sẽ cần phải tạo nhóm ứng dụng theo cách thủ công hoặc viết Tác vụ tùy chỉnh để quản lý điều này cho bạn.

Tiếp tục cho câu hỏi Grzenio của trong các ý kiến ​​dưới đây:?

"Ông có thể cho tôi một gợi ý để bắt đầu tìm kiếm các lớp mã/helper nơi Và để bạn giữ dự án của bạn một dự án Web Thiết lập trình, hoặc chỉ sử dụng dự án thiết lập ứng dụng chuẩn? "

Tôi đã thêm một dự án mới có tên là InstallHelper vào giải pháp chứa dự án thiết lập. Trong dự án đó, tôi đã tạo một lớp có tên là InstallActions có nguồn gốc từ:

System.Configuration.Install.Installer (MSDN).

Có bốn phương pháp bạn có thể ghi đè lên lớp cơ sở Installer để cho phép bạn chỉ định hành động tùy chỉnh tùy thuộc vào việc bạn đang ở giai đoạn Cài đặt, Cam kết, Gỡ cài đặt hoặc Rollback khi trình cài đặt đang chạy.

Tôi cũng đã thêm một số hộp thoại hộp văn bản vào giao diện người dùng dự án thiết lập. Đầu vào và trạng thái được chụp từ các hộp thoại này được chuyển đến hành động cài đặt tùy chỉnh của bạn thông qua một từ điển. tức là .:

using System.Collections.Specialized; 
using System.ComponentModel; 
using System.Configuration.Install; 
using System.Windows.Forms; 

namespace InstallHelper 
{ 
    [RunInstaller(true)] 
    public partial class PostInstallActions : Installer 
    { 
    public override void Install(IDictionary state) 
    { 
     base.Install(state); 
     // Do my custom install actions 
    } 

    public override void Commit(IDictionary state) 
    { 
     base.Commit(state); 
     // Do my custom commit actions 
    } 

    public override void Uninstall(IDictionary state) 
    { 
     base.Uninstall(state); 
     // Do my custom uninstall actions 
    } 
    public override void Rollback(IDictionary state) 
    { 
     base.Uninstall(state); 
     // Do my custom rollback actions 
    } 
    } 
} 

Để thêm dự án hành động tùy chỉnh của bạn cho dự án thiết lập, mở Tuỳ Hành động người xem/biên tập viên và chỉ định đầu ra từ dự án InstallHelper.

Đó là những điều cơ bản và sẽ giúp bạn bắt đầu. Dự án Thiết lập Web cũng hỗ trợ các hành động tùy chỉnh và các hộp thoại nhập của người dùng bổ sung, vì vậy bạn có thể muốn sử dụng lại dự án hiện tại của mình, ngoài hành động tùy chỉnh.

+0

Tôi sử dụng Tác vụ tùy chỉnh để thực hiện việc này trong .net 2.0 –

+0

Chúc mừng cho câu trả lời. Bạn có thể cho tôi một gợi ý nơi để bắt đầu tìm kiếm các lớp code/helper? Và bạn có giữ dự án của bạn một Dự án Thiết lập Web hay chỉ sử dụng dự án thiết lập ứng dụng chuẩn không? – Grzenio

+0

Ban đầu tôi đã xem xét Dự án Thiết lập Web nhưng đã chọn sử dụng dự án thiết lập chuẩn thay vì các yêu cầu của tôi cũng bao gồm phải cài đặt dịch vụ cửa sổ và tạo trang web. – Kev

10

Kiểm tra bài đăng này http://forums.iis.net/t/1061734.aspx, nó sẽ cung cấp cho một số ý tưởng thô về Microsoft.Web.Administration dll.

Tôi chưa nghiên cứu toàn bộ khái niệm nhưng tôi đã tìm cách tạo hồ bơi mới và cách đính kèm với trang web/thư mục ảo mới.

Tạo Application Pool

Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager(); 
manager.ApplicationPools.Add("NewApplicationPool"); 
manager.CommitChanges(); 

Gắn với mục ảo hiện

Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager(); 
Site defaultSite = manager.Sites["Default Web Site"]; 

// defaultSite.Applications will give you the list of 'this' web site reference and all 
// virtual directories inside it -- 0 index is web site itself. 

Microsoft.Web.Administration.Application oVDir = defaultSite.Applications["/myApp"];    
oVDir.ApplicationPoolName = "NewApplicationPool"; 
manager.CommitChanges(); 

Bằng cách này bạn có thể gán hồ bơi ứng dụng vào trang web mới của bạn bằng cách sử dụng hành động tùy chỉnh, trọng cam kết phương pháp của lớp cài đặt.

Nếu bạn vẫn gặp khó khăn, vui lòng cho tôi biết và tôi sẽ cố gắng gửi mã.

Kính trọng Faiyaz faiyazkhan @ hotmail.com

+2

Sử dụng Microsoft.Web.Quản trị chỉ có thể thực hiện trên máy Windows Server 2008 (ví dụ: IIS7). Đối với quản trị có lập trình IIS 6.0 trên các máy Windows Server 2003, bạn có thể thử WMI thay thế: http://msdn.microsoft.com/en-us/library/ms525309%28v=VS.90%29.aspx. Bạn cũng có thể thử System.DirectoryServices: http://msdn.microsoft.com/en-us/library/ms525791%28v=VS.90%29.aspx – rohancragg

Các vấn đề liên quan