gpt4 book ai didi

designer - 如何在 WF4 工作流服务中的自定义事件设计器中读取 Web.Config 文件

转载 作者:行者123 更新时间:2023-12-04 06:53:25 25 4
gpt4 key购买 nike

我有一个带有自定义事件和自定义设计器 (WPF) 的 WF 服务。我想添加一个验证来检查 web.config 文件中是否存在某些值。

在运行时我可以重载 void CacheMetadata(ActivityMetadata metadata)因此我可以在那里愉快地使用 System.Configuration.ConfigurationManager 进行验证读取配置文件。

由于我也想在设计时这样做,我一直在寻找一种在设计器中做到这一点的方法。

最佳答案

好的,我有一个解决方案:

    string GetWebConfigXml() {

string configXml = null;

Window window = null;
ProjectItem project = null;
ProjectItem configFile = null;

try {
EnvDTE.DTE dte = Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(DTE)) as DTE;
if(dte == null) return null;

project = dte.Solution.FindProjectItem(dte.ActiveDocument.FullName);
configFile = (from ProjectItem childItem in project.ProjectItems
where childItem.Name.Equals("web.config", StringComparison.OrdinalIgnoreCase)
select childItem).FirstOrDefault();

if (configFile == null) return null;

if (!configFile.IsOpen) window = configFile.Open();
var selection = (TextSelection)configFile.Document.Selection;
selection.SelectAll();
configXml = selection.Text;
} finally {

//Clean up the COM stuff

if (window != null) {
window.Close(vsSaveChanges.vsSaveChangesNo);
window = null;
}

if (configFile != null) {
configFile = null;
}

if (project != null) {
project = null;
}
}
}
return configXml;
}

注: 不要忘记,您可能需要在这里钓上一船

关于designer - 如何在 WF4 工作流服务中的自定义事件设计器中读取 Web.Config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2807555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com