我有exe库项目。这个项目在我的网络应用程序中作为参考引入,该应用程序具有所有相同的配置元素,并且具有自己的配置。 Light调用是在进程中直接调用exe项目中的类,但是通过命令行进行大量(内存使用)内存调用。
我将以下配置元素复制到AppName.config文件以及Web.config文件中:
<configuration>
<appSettings>
...
</appSettings>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding ... />
<readerQuotas ... />
<security>...</security>
</basicHttpBinding>
</bindings>
<client>
<endpoint ... />
</client>
</system.serviceModel>
appSettings相对容易,因为可以委托给外部配置文件。服务模型绑定不是,因为它不能被委派。我能想到的唯一两种方式是:
1)通过在当前,父,父(等)目录中查找web.config并将其加载到XmlDocument中,并在通道上设置属性,在命令行模式下为应用程序配置通道属性直接。
2)在Web应用程序中调用exe之前,从父Web.config中获取appSettings和system.serviceModel元素,如果Web.config更新,则将它们写入AppName.config文件。但是,由于共享dll,我的exe在应用程序Bin目录中,写入/ Bin将强制重新启动我的Web应用程序.... ouch。
我的许多频道属性很重要,不能是默认属性。还有更好的方法吗?
答案 0 :(得分:1)
如果您使用Visual Studio,则可以从其他项目添加现有文件,并使用“添加为链接”。
答案 1 :(得分:0)
IIRC,您可以在这两个部分here上使用configSource
- 请注意,它适用于下面的级别 system.serviceModel
)。这为您提供了更多文件,但您应该能够在客户端和服务器之间共享一些数据。但是,将某些配置分享到客户端可能不是必需或理想 - 个人我很想离开它原样。