我已经构建了一个自托管的 wcf 服务器,使用wsHttpBinding. 我正在运行 Win 2003 服务器 R2 SP2。
如果我将其配置为侦听http://localhost:443/MyService,则一切正常。我可以连接到http://localhost:443/MyServiceInternet Explorer,但收到标准的“错误请求”消息
现在,如果我尝试切换到 HTTPS,我会看到一个奇怪的现象。
这是我所做的:
http://localhost到https://localhost和从Security=None到Security=Transport(如许多 wcf 教程中所述)我已经像这样注册了我的 HTTP 端口:
httpcfg delete ssl -i 0.0.0.0:443
httpcfg set ssl -i 0.0.0.0:443 -h ea2e450ef9d4...
Run Code Online (Sandbox Code Playgroud)请注意,我使用的证书是“真实证书”(即由受信任的 CA 颁发,即 Comodo)。服务器响应证书中提到的 NS 上的 ping。
现在,以下将超时:
Microsoft Telnet> open localhost 443
Run Code Online (Sandbox Code Playgroud)
这是来自netstat(Pid '4' 是 'System' 进程)的输出:
netstat -nao
Proto Local Adress Remote Adress State Pid
TCP 0.0.0.0:443 0.0.0.0:0 …Run Code Online (Sandbox Code Playgroud) 我已经构建并成功部署了ClickOnce应用程序.
应用程序在需要时成功更新,一切正常.
但是,我不喜欢这样的事实,因为互联网上的每个人都可以自由访问这些文件(即使他不是我的客户之一)
由于我只有少量客户端(大公司),我使用.htaccess文件限制了对我的客户端IP的访问,如下所示:
AddType application/x-ms-application application
AddType application/x-ms-manifest manifest
AddType application/octet-stream deploy
<LIMIT GET POST>
order deny,allow
deny from all
allow from 1.2.3.4
allow from 5.6.7.8
....
....
</LIMIT>
Run Code Online (Sandbox Code Playgroud)
遗憾的是,此解决方案不是自动化的,并且不适合移动用户.
你是如何处理这种情况的?
我找到了这段代码:
this.Invoke(new EventHandler(EventGetSum));
Run Code Online (Sandbox Code Playgroud)
这与写作不一样:
EventGetSum();
Run Code Online (Sandbox Code Playgroud)
这有什么用?
我想以编程方式测试文件是否有病毒.
我知道这个帖子,在我看来没有得到满意的答案,但我不是在寻找API.任何一种可以测试文件的解决方法都没问题.
当然,API可能是最好的解决方案(我在Windows平台上使用.net),但也许可以将文件放在文件夹中,然后检查我是否仍然可以打开它或是否已经被防病毒软件隔离.
有人遇到过同样的情况吗?
我在VS 2008上使用Ankh v2.0.5250.202连接到我的Subersion服务器(VisualSVN服务器1.6.3)
我的存储库的当前URL是https:// svnserver:8443/svn/foo/foo/trunk /我想切换到https:// svnserver:6002/svn/foo/foo/trunk /
我正在使用"切换到"工具在"待更改"窗口的网址栏右侧选择一个新网址.
不幸的是,当我选择新的url时,我收到一条错误,指出 ' https:// svnserver:8443/svn/foo/foo/trunk '与' https:// svnserver:6002/svn/foo不是同一个存储库"
我试图输入' https:// svnserver:6002/svn/foo ',' https:// svnserver:6002/svn/foo/foo ',' https:// svnserver:6002/svn/foo/foo/trunk ',但我总是得到同样的错误.
有修复吗?或者我可以手动编辑的配置文件?(我没有找到这样的配置文件)
注意:在服务器端,我已经改变了服务器端口而没有触及其他任何东西.我可以使用存储库资源管理器浏览存储库,所以我认为问题出在客户端.
在.net中写下以下内容是否合法?
public class A
{
public int i = 0;
~A()
{
Aref = this;
}
}
public static A Aref;
static void Main(string[] args)
{
Aref = new A();
int gen = GC.GetGeneration(Aref);
Aref = null;
GC.Collect(gen, GCCollectionMode.Forced);
GC.WaitForPendingFinalizers();
Console.WriteLine(Aref.i);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
它工作并按预期将"0"写入控制台,但我想知道它是否保证始终有效.
有人知道幕后发生了什么吗?
我刚刚在我的一个软件上发现了一个错误,我忘记了where子句.代码是这样的:
declare @foo bigint
declare @bar bigint
select @foo = foo, @bar=bar from tbFooBar
where (....a long list of condition goes there)
(... and an extra condition should have went there but I forgot it)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我忘记的where子句在非常特殊的极端情况下很有用,代码经过了成功的测试.
最终,查询返回了两个值而不是一个,并且产生的错误是追踪的噩梦(因为它很难再现,并且根本不明显这个特定的存储过程导致了我们发现的问题)
如果@ foo = foo引发了异常而不是默默地从多行中分配第一个值,那么调试会容易得多.
为什么这样?我想不出这样一种情况,即人们实际上想要在不引发错误的情况下这样做(请记住条款'不同'和'顶'是有原因的)
如果出现这种情况,有没有办法让sql server 2008引发错误?
我知道这个帖子,其中的问题限制了源控制问题.
就我而言,它更为一般.即使没有用户输入,Visual Studio也会不时地随机崩溃.
我通常关闭所有文件并清理我的项目以避免进一步崩溃,我最终再次崩溃,而不知道为什么.
你有一些提示和技巧,以避免随机崩溃?
编辑:我已经安装了SP1,我在带有4GB RAM的Q6600上运行Vista
我有一个对象是一个未知类型的字典(即我不知道键的类型和值)
我想检索它的所有值,以便我可以通过索引访问它们.
所以我想做的是这样的:
Dictionary<object, object> d = (Dictionary<object, object>)obj; // cast error
l = new List<KeyValuePair<object,object>>();
foreach (KeyValuePair<object, object> k in d)
l.Add(new KeyValuePair<object,object>(k.Key, k.Value));
Run Code Online (Sandbox Code Playgroud)
但是,正如预期的那样,运行时不会让我转换为Dictionary <object,object>.
有没有办法在.net 3.0中执行此操作?(例如使用反射?)
有时候,一个特征似乎属于多个地方.
琐碎的例子,假设我有以下菜单:
我有一个搜索功能,相同的搜索窗口适用于待处理和已接受的订单(它只是一个'订单状态'组合,您可以更改)
此搜索功能属于哪里?
工具菜单似乎是一个不错的选择,但我担心用户可能希望搜索接受的订单在接受的订单菜单中,这是有道理的
复制在这两个悬而未决,接受订单的菜单项似乎错了我.
你会怎么做?(让我们假装我们不能将两个订单菜单合并到一个菜单中)