Làm thế nào để: Tạo một dịch vụ.NET thành phần trong Visual C#.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:306296
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
Đối với một Microsoft Visual Basic.NET Phiên bản của bài viết này, xem 312902.
Đối với một Microsoft Visual C++.NET Phiên bản của bài viết này, xem 309108.

Bài viết này đề cập đến Microsoft sau.Không gian tên thư viện lớp của NET Framework:
  • System.EnterpriseServices

TRONG TÁC VỤ NÀY

TÓM TẮT
Bài viết-by-step này chứng tỏ làm thế nào để tạo ra một dịch vụ.NET thành phần có sử dụng các giao dịch. Bài viết này cũng chứng tỏ làm thế nào để tạo ra một khách hàng mà các bài kiểm tra thành phần dịch vụ của bạn. Dịch vụ doanh nghiệp Microsoft cung cấp cho Microsoft COM + dịch vụ.NET thành phần.

back to the top

Ghi chú quan trọng

  • Các thành phần dịch vụ yêu cầu mạnh tên.
  • Các thành phần dịch vụ nên được đăng ký trong bộ nhớ Cache hội toàn cầu (GẤC) bởi vì họ là nguồn tài nguyên hệ thống cấp. Máy chủ ứng dụng cần cài đặt trong GẤC, nhưng các ứng dụng thư viện làm không (mặc dù nó được khuyến khích).
  • Bạn có thể đăng ký các thành phần dịch vụ với COM + hoặc tự động thông qua đăng ký lười biếng hoặc bằng tay thông qua các tiện ích Regsvcs.exe. RegSvcs.exe được đặt trong cặp sau:
    \WINNT\Microsoft.NET\Framework\Phiên bản khuôn khổ>
    Để biết thêm chi tiết về Regsvcs.exe, chỉ đến Microsoft.NET Framework phần mềm phát triển Kit (SDK) tài liệu hướng dẫn.
  • Mẫu này giả định rằng Microsoft SQL Server đã được cài đặt trên máy tính địa phương.
  • Mẫu này chỉ dành cho mục đích minh hoạ. Nghiêm chỉnh nói, truy vấn chọn mẫu này là một ứng cử viên tốt để chạy bên ngoài của một COM + giao dịch vì COM + sử dụng sự cô lập mức cao nhất đối với các giao dịch. Để cải thiện thông qua các cơ sở dữ liệu, rất tốt lập trình thực hành để xem xét việc đọc truy vấn cho cấp giao dịch thấp hơn.
back to the top

Tạo ra các dịch vụ.NET thành phần

  1. Tạo một dự án Visual C# lớp thư viện mới đặt tên là ServicedCOM.
  2. Đổi tên lớp học mặc định của bạn và tên tập tin từ Class1.CS để SimpleTrans.cs. để thực hiện việc này, hãy làm theo các bước sau:
    1. Trong cửa sổ lớp View, nhấp chuột phải Class1, sau đó bấm Thuộc tính.
    2. Trong Thuộc tính, thay đổi các Tên bất động sản để SimpleTrans.
  3. Thêm một tham chiếu đến các System.EnterpriseServices không gian tên.
  4. Thêm các tuyên bố sau, như là đầu dòng, cả hai SimpleTrans.csAssemblyInfo.cs:
    using System.EnterpriseServices;
    Ở phía trên của SimpleTrans.cs thêm các tuyên bố sau:
    using System.Data.SqlClient;
  5. Thừa kế lớp học của bạn từ ServicedComponent (tên đầy đủ điều kiện: System.EnterpriseServices.ServicedComponent).
  6. Thêm mã sau chỉ trước khi các * công cộng lớp * tuyên bố:
    [Transaction(TransactionOption.RequiresNew)]					
  7. Thêm các thuộc tính được giới thiệu sau đây để AssemblyInfo.cs:
    [assembly: ApplicationActivation(ActivationOption.Library)][assembly: ApplicationName("SimpleTrans")]						
    • Các ActivationOption thuộc tính chỉ ra cho dù các thành phần sẽ được kích hoạt trong quá trình của người gọi. Bạn có thể thiết lập Activation.option để Thư viện hoặc đến Máy chủ.
    • Các ApplicationName thuộc tính là tên xuất hiện cho COM + ứng dụng trong COM + danh mục và giao diện thành phần dịch vụ hành chính.
  8. Thêm các tùy chọn thuộc tính sau đây SimpleTrans.cs, chỉ sau khi sử dụng các phát biểu:
    [assembly: Description("Simple Transactional application to show Enterprise Services")]						
    Thuộc tính này cung cấp một mô tả cho COM + ứng dụng trong COM + danh mục và thành phần dịch vụ quản trị giao diện điều khiển.
  9. Thêm các phương pháp sau đây để SimpleTrans.cs:
    // Demos Explicit SetComplete/SetAbort        public string DoTrans()        {            SqlConnection	connection;            SqlCommand		command;             SqlDataReader	reader;            string		name;            string		query;		            try            {                query = "SELECT au_lname, au_fname FROM authors";                connection = new SqlConnection("data source = localhost;                                                initial catalog = pubs;                                                UID=sa;PWD=");                command = new SqlCommand(query, connection);                connection.Open();                reader = command.ExecuteReader();				                reader.Read();                name = reader.GetString(0) + ", " + reader.GetString(1);            }            catch(Exception exc)            {                ContextUtil.SetAbort();                throw exc;            }            return name;    }// Demo implicit SetComplete/SetAbort[AutoComplete]public void DoTxAuto(){    // Do stuff}					
  10. Sửa đổi các SqlConnection chuỗi như là thích hợp cho môi trường của bạn.
back to the top

Đặt tên mạnh mẽ cho hội đồng của bạn

  1. Nhấp vào Bắt đầu, điểm đến Chương trình, điểm đến Microsoft Visual Studio.NET, điểm đến Visual Studio.NET Tools, sau đó bấm Visual Studio.NET Command Prompt.
  2. Tại dấu nhắc lệnh, gõ SN.exe -k ServicedCOM.snk để đặt tên mạnh mẽ cho hội đồng của bạn.

    Để có thông tin về ký hội đồng khác nhau với những cái tên mạnh, tham khảo các.NET Framework phần mềm phát triển Kit (SDK) tài liệu hướng dẫn.
  3. Sao ServicedCOM.snk vào thư mục dự án.
  4. Trong AssemblyInfo.cs, thay thế các AssemblykeyFile Mã với đoạn mã sau:
    [assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")]					
back to the top

Thêm thành phần dịch vụ của bạn để COM +

Bạn có thể cho phép các thành phần để đăng ký tự động khi sơ thẩm được tạo ra, hoặc bạn có thể tự ký các thành phần với Regsvcs.exe. Để sử dụng Regsvcs.exe, hãy làm theo các bước sau:
  1. Nhấp vào Bắt đầu, điểm đến Chương trình, điểm đến Microsoft Visual Studio.NET, điểm đến Visual Studio.NET Tools, sau đó bấm Visual Studio.NET Command Prompt.
  2. Tại dấu nhắc lệnh, gõ RegSvcs servicedcom.dll. Điều này tạo ra một COM + thư viện đơn với tên giống như tên lớp học của bạn. Bỏ qua cảnh báo.
back to the top

Kiểm tra thành phần của bạn

  1. Trong Notepad, mở một tập tin văn bản.
  2. Dán đoạn mã sau vào tập tin:
    set o =createobject("ServicedCOM.SimpleTrans")MsgBox o.DoTrans()					
  3. Từ các Tệp trình đơn, nhấp vào Lưu.
  4. Trong các Löu laøm hộp thoại hộp, trong các Tên tệp hộp văn bản, loại Test.VBS. Trong các Lưu như kiểu danh sách, bấm vào Tất cả các tệp, sau đó bấm Lưu.
  5. Nhấp đúp vào tập tin để chạy các mẫu.
back to the top

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 306296 - Xem lại Lần cuối: 12/06/2015 04:57:15 - Bản sửa đổi: 2.0

Microsoft Visual C# .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbhowtomaster kbmt KB306296 KbMtvi
Phản hồi