我们有几个使用负载均衡器的Web服务器.机器在端口81上运行IIS6.在外部,可以使用端口80访问站点.外部名称和机器名称不同.
我们得到了
System.ServiceModel.EndpointNotFoundException: The message with To '<url>' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree.
Run Code Online (Sandbox Code Playgroud)
web.config的相关部分是:
<endpoint binding="ws2007HttpBinding" bindingConfiguration="MyServiceBinding"
contract="MyService.IMyService" listenUriMode="Explicit" />
Run Code Online (Sandbox Code Playgroud)
我们尝试添加listenUri,但这并没有解决我们的问题.
有任何想法吗?
我正在构建一个需要6种不同服务的分布式应用程序.我将不得不使用Visual Studio 2008在我的XP笔记本电脑上演示应用程序.
是否可以同时在localhost上运行多个服务,全部使用net.pipe?
例如:
net.pipe://localhost/DirectoryService
net.pipe://localhost/MathService
Run Code Online (Sandbox Code Playgroud)
如果没有,有没有其他方法来托管这些WCF服务而不使用IIS/webdev服务器?的net.tcp?别的什么?
我最近转换了一些Silverlight 3 WCF服务以使用新的二进制http绑定.长字符串经常被发送到服务器以便在这些服务中进行反序列化,之前我曾用它来确保可以正确读取数据.但是,使用新绑定我找不到添加元素的正确位置:
<customBinding>
<binding name="binaryHttpBinding">
<binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"/>
<httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
</binding>
</customBinding>
Run Code Online (Sandbox Code Playgroud)
这是一次尝试:
<customBinding>
<binding name="binaryHttpBinding">
<binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"/>
<httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
<textMessageEncoding>
<readerQuotas maxDepth="32" maxStringContentLength="5242880"
maxArrayLength="200000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
</customBinding>
Run Code Online (Sandbox Code Playgroud)
这导致了其他问题 - 在同一个绑定中使用二进制编码和textMessageEncoding似乎不是一个好主意.因此,仅使用二进制编码,如何增加读取器配额以允许对大字符串进行反序列化?
silverlight maxstringcontentlength wcf-binding silverlight-3.0
我有一个问题,选择什么解决方案..我有一个服务器正在运行服务运行,可以从网站接收订单.对于此服务器,以某种方式连接了多个客户端(远程计算机).
我真的想使用WCF进行所有通信,但不确定它是否可行.
我不想在他们的路由器中配置所有客户端防火墙设置,因此客户端必须连接到服务器.
但是,当在服务器上收到订单时,应将其转移到特定客户端.
一种解决方案可能是让客户端使用双工绑定进行连接,但是必须以某种方式保持连接处于活动状态才能从服务器接收数据...这是一个很好的方法吗?
通常连接超时,可能是有充分理由的......
任何人都有这个问题的见解.
很多任何建议:-)
最好的问候SørenMüller
我有一个在IIS6上托管的WCF服务,我正在使用.net framework 3.5.我拥有的网站是公共领域的,我的意思是任何人都可以从任何地方访问.
我的问题是,有没有办法隐藏我的WCF服务?我可以轻松查看源页面或确切知道页面后面的服务路径...
http://hostname.MyServiceName.svc?wsdl,我怎么能隐藏它?
我创建了一个Web服务,我试图为3个端点提供不同的绑定.1. basicHttpBinding,2.wsHttpBinding,3.webHttpBinding
当我进行服务引用时,我只获得了带有basicHttpBinding和wsHttpBinding绑定的端点.我没有得到webHttpBinding.什么可能是错的.
这是web.config中serviceModel节点的结构.
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true"/>
</diagnostics>
<services>
<service behaviorConfiguration="VersionTolerance.Service1Behavior" name="BookShop.BookShopService">
<endpoint address="sadha" binding="basicHttpBinding" contract="BookShop.IBookShopService" />
<endpoint address="ws" binding="wsHttpBinding" contract="BookShop.IBookShopService" >
</endpoint>
<endpoint address="web" binding="webHttpBinding" behaviorConfiguration="webHttpBehavior"
contract="BookShop.IBookShopService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:49654/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="VersionTolerance.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the …Run Code Online (Sandbox Code Playgroud) WCF的netTCPBinding是"默认安全".据我了解,这意味着......
但是,我可以在我的localhost上设置一个非常基本的WCF客户端服务.身份验证将在同一台计算机上运行,但签名和加密如何工作?
WCF需要证书来签名和加密消息.如果我没有证书,那么我的服务如何运作?消息如何 - 甚至只是去同一台机器进行签名和加密.
谢谢.
背景:在部署在本地计算机上无错误编译的应用程序后,我收到内部服务器500 24 50错误.部署应用程序的服务器具有大量安全性并且运行IIS 7.5,因此我需要为每个目录指定读写访问权限.此应用程序使用Windows身份验证和Web服务通过代理填充下拉框.我认为连接到Web服务可能存在问题,或者文件的读/写安全性问题,或者活动目录身份验证存在问题.
由于某种原因,Internet Explorer刚刚显示无法加载网页错误.
Google Chrome中出错:
500 – Internal Server Error.
There is a problem with the resource you are looking for, and it cannot be displayed.
Run Code Online (Sandbox Code Playgroud)
日志文件详情:
#Software: Microsoft Internet Information Services 7.5
#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
2011-05-18 13:54:46 W3SVC1 FL-TPA-WEB-01 172.17.1.25 GET / - 80 -
172.17.1.25 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;
+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET4.0C;+.NET4.0E) - -
invitations.myagencyservices.com 500 24 50 1380 …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个返回json的wcf服务.我的配置文件有一些问题,我也不知道如何测试它.
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="ContactLibraryJSON.ContactLibrary">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="JSONEndpointBehavior"
contract="ContactLibraryJSON.IContactServiceJSON" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://192.168.1.31/ContactLibraryJSON" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="JSONEndpointBehavior">
<webHttp/>
</behavior>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to …Run Code Online (Sandbox Code Playgroud) 如何在我的WCF服务上显示DisplayName/Name属性?
这是WCF服务中的对象.
[DataContract]
public class Person
{
[DataMember]
public int PersonId { get; set; }
[DataMember]
[Display(Name = "Name")]
public string Name { get; set; }
[DataMember]
[DisplayName("Date of Birth")]
public DateTime? DateOfBirth { get; set; }
[DataMember]
public string Gender { get; set; }
[DataMember]
public string Telephone { get; set; }
[DataMember]
public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我希望描述性名称显示在我基于WCF服务创建的表单上.我怎样才能做到这一点?
在MVC4 View上显示代码
<div id="online">
@Html.EditorFor(m => m.Name)
@Html.EditorFor(m => m.Telephone)
@Html.EditorFor(m => m.Fax)
@Html.EditorFor(m => m.Email)
</div>
Run Code Online (Sandbox Code Playgroud) wcf-binding ×10
wcf ×9
.net ×2
wcf-security ×2
.net-3.5 ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
iis-7.5 ×1
json ×1
silverlight ×1
svc ×1
wcf-rest ×1