2010-04-01 31 views
7

Tôi muốn tách tệp app.config của mình. Ví dụ tôi muốn di chuyển phần ServiceModel sang một tệp cấu hình khác trong cùng một dự án. Làm thế nào tôi có thể làm điều đó?Nhiều tệp App.Config

Cảm ơn.

Trả lời

5

Bạn sẽ có thể có phần tử trống với thuộc tính configSource được đặt thành tệp thứ hai (tương ứng với tệp thứ nhất). Xem tại đây để biết cách kích hoạt nó for custom sections.

1

Theo như kiến ​​thức của tôi, điều này thật đáng buồn là không thể.

Điều bạn có thể làm là (nếu chúng ta nói về proxy của WCF) hãy tạo và định cấu hình proxy của bạn trong mã của bạn. Bằng cách đó bạn không cần phần dịch vụ Model.

Bây giờ, chỉ cần xác định phần tùy chỉnh của riêng bạn cho dữ liệu bạn cần và sau đó có thể được đặt bên ngoài tệp cấu hình của bạn.

2

Sử dụng một cái gì đó như thế này:

<?xml version="1.0"?>  
<configuration>  
    <appSettings />  
    <connectionStrings/>  
    <system.web>  
     <compilation debug="false" strict="false" explicit="true" />  
    </system.web>  
    <appSettings file="externalSettings.config"/>  
</configuration> 
2

tôi thấy đường đi. Tôi đã thay đổi thẻ như thế này.

<system.serviceModel> 
    <behaviors configSource="Behaviors.config"> 
    </behaviors> 
    <services configSource="Services.config"> 
    </services> 
    <bindings configSource="Bindings.config"> 
    </bindings> 
    <extensions configSource="Extensions.config"> 
    </extensions> 
    </system.serviceModel> 

Sau khi tôi tạo ra các tập tin Services.config và họ tôi đặt này

<services> 
    <service behaviorConfiguration="ServiceBehavior" name="EntLib31ExceptionTest.Service1"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:8001/ValidationService1/" /> 
     </baseAddresses> 
    </host> 
    <endpoint address="" 
       binding="wsHttpBinding" 
       bindingConfiguration="CustomBinding" 
       contract="EntLib31ExceptionTest.IService"  
       behaviorConfiguration="Validation"/> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    </service> 
</services> 

Cùng tôi thực hiện trong Bindings, Hành vi, các file Extensions.config.

Và nó hoạt động

+0

@Wilson: bạn cần phải học để làm nổi bật mã hoặc XML dòng của bạn và bấm vào nút "code" (101 010) trên thanh công cụ soạn thảo để định dạng chúng độc đáo - không lộn xộn "

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