小编Ian*_*ill的帖子

更改.NET应用程序配置文件名

我有一个VB6应用程序调用.NET程序集,它引用app.config文件中的设置.默认情况下,.NET会查找以VB6应用程序命名的配置文件.如何重定向它以使用不同的配置文件名?这需要成为默认配置文件,以便从中读取例如WCF设置.

.net app-config

9
推荐指数
3
解决办法
1万
查看次数

使用HTTPS的WCF会话

我无法弄清楚如何在使用HTTPS时为我的WCF服务启用每会话实例.(我不是ASP.NET专家,但如果可能的话,不想使用ASP.NET会话状态.)我使用的是.NET Framework 3.0.

我已经达到了以下矛盾,我希望有人可以告诉我逻辑中存在缺陷的地方.

1)由于客户的要求,该服务必须托管在IIS 6上.

2)服务需要在调用之间维护状态,包括SqlConnection和SqlTransaction实例(由于项目限制,丑陋但必要).

3)因此我需要使用wsHttpBinding.

4)服务需要能够从HttpContext.Current.User.Identity访问用户身份验证信息(例如,在IIS中使用Windows安全性).

5)因此需要HTTPS.

6)因此必须在绑定上配置传输级安全性.

7)配置服务以要求会话意味着我必须配置wsHttpBinding以使用可靠会话.

8)这要求在绑定上配置消息级安全性.

即(6)和(8)是相互排斥的.

似乎使用WCF会话要求我使用消息级安全性,这会阻止我使用HTTPS.

我错过了什么?

c# https wcf iis-6

8
推荐指数
1
解决办法
7087
查看次数

无法从C应用程序访问C++ DLL中的变量

我坚持修复传统的Visual C++ 6应用程序.在我放的C++ DLL源代码中

extern "C" _declspec(dllexport) char* MyNewVariable = 0;
Run Code Online (Sandbox Code Playgroud)

这导致MyNewVariable在导出表中显示(很好地未修饰)(如dumpbin/exports blah.dll所示).但是,我无法弄清楚如何声明变量,以便我可以在C源文件中访问它.我尝试过各种各样的东西,包括

_declspec(dllimport) char* MyNewVariable;
Run Code Online (Sandbox Code Playgroud)

但这只是给我一个链接器错误:

未解析的外部符号"__declspec(dllimport)char*MyNewVariable"(__ imp_?MyNewVariable @@ 3PADA)

extern "C" _declspec(dllimport) char* MyNewVariable;
Run Code Online (Sandbox Code Playgroud)

正如Tony所建议的(以及我之前尝试过的)会产生不同的预期装饰,但仍然没有将其删除:

未解析的外部符号__imp__MyNewVariable

如何编写声明,以便可以从C应用程序访问C++ DLL变量?


答案

由botismarius和其他人确认(非常感谢所有),我需要链接DLL的.lib.为了防止名称被破坏,我需要声明它(在C源代码中)没有装饰器,这意味着我需要使用.lib文件.

c c++ interop name-decoration

7
推荐指数
1
解决办法
6132
查看次数

标签 统计

.net ×1

app-config ×1

c ×1

c# ×1

c++ ×1

https ×1

iis-6 ×1

interop ×1

name-decoration ×1

wcf ×1