客户端下载从我们的服务器文件后与我们的应用程序,该应用程序做了ParseExact关于其从形式的服务器归结日期字符串:yyyy/mm/dd HH:mm:ss.
在经历了很多混乱之后,我在一些日志中注意到客户端系统上的日期是19/7/2554.事实证明,这是一个有效的时间,如在泰国,Windows默认为佛教时代的时间系统,在那里是2554年.
我的解析确切是用一种不变的文化完成的,我怀疑这可能是问题,但我认为文化指的是你试图解析的格式?
我得到的异常消息是:字符串未被识别为有效,DateTime因为星期几不正确
那里有很多类似的问题,但我已经尝试过每一个解决方案都无济于事.
我们有一个使用WebServiceHostFactory初始化的Web服务,但是如果它被抛出超过64k,我们会收到'400 Bad Request'.通常情况下,这可以通过提升MaxReceivedMessageSize,MaxBufferSize和MaxBufferPoolSize来解决.问题是使用WebServiceHostFactory,Web.Config被完全忽略.我在ServiceModel部分中所做的任何更改都不会反映在服务中.
完全抛弃WebServiceHostFactory并从头开始设置web.config会很不错,但如果没有它,我们的服务将无法运行.其中一个方法有一个stream参数以及一些其他字符串参数.没有工厂,我们得到
System.InvalidOperationException: For request in operation Test to be a stream the operation must have a single parameter whose type is Stream
Run Code Online (Sandbox Code Playgroud)
所以不能选择拆除工厂.我无法确切地知道工厂正在做什么修复了这个错误,但我花了4天时间就没有了.
我也试过以编程方式覆盖MaxReceivedMessageSize,我在附近发现了一些例子:
protected override void OnOpening()
{
base.OnOpening();
foreach (var endpoint in Description.Endpoints)
{
//var binding = endpoint.Binding as WebHttpBinding;
//if (binding != null)
//{
// binding.MaxReceivedMessageSize = 20000000;
// binding.MaxBufferSize = 20000000;
// binding.MaxBufferPoolSize = 20000000;
// binding.ReaderQuotas.MaxArrayLength = 200000000;
// binding.ReaderQuotas.MaxStringContentLength = 200000000;
// binding.ReaderQuotas.MaxDepth = 32;
//}
//var transport = endpoint.Binding.CreateBindingElements().Find<HttpTransportBindingElement>(); …Run Code Online (Sandbox Code Playgroud) 第一个注意事项:此站点托管在WPEngine(清除缓存)上,但我似乎无法在另一台服务器上复制该问题.
我们需要能够在某些页面上访问$ _GET php变量.为了测试,我修改了我们的Wordpress header.php,在第一行做了一个var_dump.
通常,一切正常.但是,如果URL字符串包含"utm_",则$ _GET中的每个后续变量都将被删除.更奇怪的部分是,如果我登录到Wordpress,一切正常.
我们的Paypal返回网址如下所示:
http://oururl.com/buy/thankyou/?utm_nooverride=1tx=xxxxyyyy ...
utm_nooverride导致$ _GET为空数组.如果我将其更改为"test = 1&tx = xxxxyyyy",则可以正常工作.如果我使用"utm_test = 1&tx = xxxxyyyy",我会再次得到一个空数组.
.htaccess中没有什么奇怪的,只有少数标准的Wordpress行.
托管中有什么东西导致这个吗?
我对Web服务很新,尤其是WCF,所以请耐心等待.
我正在编写一个API,它接受一些参数,如username,apikey和一些选项,但我还需要向它发送一个字符串,该字符串可以是几千个单词,它被操作并作为流传回.将它放在查询字符串中没有意义,所以我想我会将消息体张贴到服务中.
似乎没有一种简单的方法可以做到这一点......
我的运营合同是这样的
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate="Method1?email={email}&apikey={apikey}"+
"&text={text}&quality={qual}", BodyStyle = WebMessageBodyStyle.Bare)]
Stream Method1(string email, string apikey, string text, string qual);
Run Code Online (Sandbox Code Playgroud)
这很有效.但它是我想要提取的"文本"参数并且在帖子正文中.我读过的一件事就是将一个流作为另一个参数,如下所示:
Stream Method1(string email, string apikey, string qual, Stream text);
Run Code Online (Sandbox Code Playgroud)
然后我可以读入.但是这会抛出一个错误,说如果我想要一个流参数,它必须是唯一的参数.
那么我怎样才能实现我在这里尝试做的事情,或者在查询字符串中发送几千个单词没什么大不了的?
在事件查看器中,大约每 5 分钟我就会收到此处描述的事件:http : //technet.microsoft.com/en-us/library/cc735145(WS.10).aspx
"FailedRequestTracing 模块未能创建目录 '%3'。在此情况得到纠正之前,不会生成任何日志。该问题在过去 %2 分钟内至少发生了 %1 次。数据是错误。"
该修复程序应该允许 IIS_IUSRS 对该目录进行写访问。
IIS_IUSRS 不仅具有写访问权限,而且我还允许我的所有 3 个域的 IUSR、NETWORK SERVICE 和 plesk 面板 IUSR 帐户,但我仍然收到错误消息。
我不禁认为这对于 Plesk Panel 来说真的很愚蠢。很确定我遇到的每个奇怪的问题都源于 Plesk,不幸的是我的服务器已经预先配置了它。有没有办法找出 IIS 试图访问日志文件的用户,所以我只需授予它权限?
安装Mono的基本说明是:
tar xzvf mono-X.XX.tar.gz; cd mono-X.XX ./configure --prefix =/usr/local; 使; make install
所以我从http://download.mono-project.com/sources/mono/下载了最新版本并将其解压缩(但是这是一个bz2,使用了tar的j选项).
配置似乎工作正常.当我运行make时,它会在此之前插入大约40分钟左右:
make[5]: Entering directory `/usr/local/src/mono-2.11.2/mcs'
make[6]: Entering directory `/usr/local/src/mono-2.11.2/mcs'
make[6]: gmcs: Command not found
make[6]: *** [build/deps/basic-profile-check.exe] Error 127
make[6]: Leaving directory `/usr/local/src/mono-2.11.2/mcs'
make[6]: Entering directory `/usr/local/src/mono-2.11.2/mcs'
*** The compiler 'gmcs' doesn't appear to be usable.
*** Trying the 'monolite' directory.
make[7]: Entering directory `/usr/local/src/mono-2.11.2/mcs'
make[8]: Entering directory `/usr/local/src/mono-2.11.2/mcs'
Corlib not in sync with this runtime: expected corlib version 102, found 100.
Loaded from: /usr/local/src/mono-2.11.2/mcs/class/lib/monolite/mscorlib.dll …Run Code Online (Sandbox Code Playgroud)