WCF--提示:"未找到终结点。"
刚开始调用WCF的时候一直报错...
““System.ServiceModel.EndpointNotFoundException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理”
“其他信息: 没有终结点在侦听可以接受消息的 http://xx.xx.xx.xx:端口//Service1.svc。这通常是由于不正确的地址或者 SOAP 操作导致的。如果存在此情况,请参见 InnerException 以了解详细信息。”
点开详细信息:“InnerException:{"远程服务器返回错误: (404) 未找到。"}”
浏览器打开http://xx.xx.xx.xx:端口//Service1.svc/IService1/GetInfoByID
页面显示:“”未找到终结点。”
由此可见,是服务的问题了...
吾本以为简单的一个问题,搜一下,答案便可出矣...哀哉悲哉...折腾过来折腾过去,没毛线进展...
只好自己一步一个脚印来深入研究之,正好学习下...
了解的过程修改过来修改过去...
最终···得出一个结论...
不是IIS的问题就是web.config文件的配置问题...
最后一狠心...
将web.config全部删了...
抄来了一个完好的例子
原文地址:http://www.cnblogs.com/wujy/p/3386993.html
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp helpEnabled="true"/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="MapConfigBehavior">
<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="true"/>
<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="webHttpBindConfig" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="104857600">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
<security mode="None"></security>
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="ServiceBll.UserBll" behaviorConfiguration="MapConfigBehavior">
<endpoint binding="webHttpBinding" contract="IServiceInterface.IUser" bindingConfiguration="webHttpBindConfig" behaviorConfiguration="webHttp"/>
</service>
</services>
</system.serviceModel>
</configuration>
...莫名其妙的好了...
现在是后台"添加服务引用"之后是可以调用服务了...
下一步还要解决.要前台ajax可以调用的方法...
支持 Ajax(只能算是一个折中的解决方案...No Pre)
web.config配置
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
</appSettings>
<system.webServer>
<handlers>
<remove name="WebDAV" />
</handlers>
<modules runAllManagedModulesForAllRequests="true" >
<remove name="WebDAVModule" />
</modules>
<directoryBrowse enabled="true"/>
<!--跨域..-->
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<!--Content-Type,-->
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
<security>
<requestFiltering>
<requestLimits maxQueryString="2147483640" maxUrl="2097151" maxAllowedContentLength="2097151"/>
</requestFiltering>
</security>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime maxRequestLength="2147483647" maxUrlLength="2097151"/>
</system.web>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<enableWebScript/>
<!--2016年8月18日11:11:24-->
<webHttp helpEnabled="true"/>
</behavior>
<!--<behavior name="webBehavior">
<webHttp helpEnabled="true"/>
-->
<!--<enableWebScript />-->
<!--
</behavior>-->
</endpointBehaviors>
<serviceBehaviors>
<behavior name="MapConfigBehavior">
<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="true"/>
<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<bindings>
<webHttpBinding>
<binding name="webHttpBindConfig" receiveTimeout="00:30:00" sendTimeout="00:30:00" maxReceivedMessageSize="2147483647" crossDomainScriptAccessEnabled="true">
<readerQuotas maxStringContentLength="2147483647" maxBytesPerRead="2147483647" maxArrayLength="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647"/>
<security mode="None">
</security>
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="PreAlert_WcfService.Service1" behaviorConfiguration="MapConfigBehavior">
<endpoint address="" binding="webHttpBinding" contract="PreAlert_WcfService.IService1" bindingConfiguration="webHttpBindConfig" behaviorConfiguration="webHttp"/>
<!--<endpoint address="" binding="webHttpBinding" contract="PreAlert_WcfService.IService1" bindingConfiguration="webHttpBindConfig" behaviorConfiguration="webHttp"/>-->
</service>
</services>
</system.serviceModel>
<connectionStrings>
<add name="xxxxDBEntities" connectionString="metadata=res://*/EFModel.csdl|res://*/EFModel.ssdl|res://*/EFModel.msl;provider=System.Data.SqlClient;provider connection string="data source=x.x.x.x;initial catalog=xxxxDB;persist security info=True;user id=xxxx;password=xxxx;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="SqlConnectionString" connectionString="Data Source=.;Initial Catalog=xxxx;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework" />
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
IService.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json; namespace xxxx_WcfService
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
/// <summary>
/// 契约接口
/// </summary>
//[ServiceContract(Namespace = "")]
[ServiceContract(Namespace = "PreAlertService")]
public interface IService1
{ #region T_Menu(菜单栏的权限控制)
[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
string T_TabName_Add(string jsonParames);
}
}
Service.svc.cs
using Common;
using DoMain;
using fastJSON;
using JS.Framework.Utility;
using Service.ServiceImp;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;
using System.Web;
/*
* 服务命名规范:表名_操作{例如:TabName_Action}
*/
namespace xxxx_WcfService
{
/// <summary>
/// WCF服务
/// </summary>
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。
// 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 Service1.svc 或 Service1.svc.cs,然后开始调试。
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
//[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")]
//[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
public class Service1 : IService1
{
/// <summary>
/// 增加xx信息
/// </summary>
/// <param name="jsonParames">{ "xxxx":"xxxxID"}</param>
/// <returns></returns>
public string T_TabName_Add(string jsonParames)
{
#region Ajax...
if (jsonParames == null && HttpContext.Current.Request.QueryString["jsonParames"] != null)
jsonParames = HttpContext.Current.Request.QueryString["jsonParames"];
else if (jsonParames == null && HttpContext.Current.Request.QueryString["jsonParames"] == null)
return JSON.Instance.ToJSON("{\"ret\":\"0\",\"msg\":\"参数为空.\"}");
#endregion }
Service.svc
<%@ ServiceHost Language="C#" Debug="true" Service="xxxx_WcfService.Service1" CodeBehind="Service.svc.cs" %>
WCF--提示:"未找到终结点。"的更多相关文章
- oracle select into 的时候提示未找到数据
); begin '; --在select into 后面添加exception 错误处理机制 exception when no_data_found then version:= 'hhh '; ...
- oracle 安装提示未找到文件安装
安装oracle 过程中提示未找到文件 E:\app\xxj\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications\W ...
- Ubuntu、Windows输入命令appium-doctor提示未找到命令
输入命令:appium-doctor时,一直报错,提示“未找到命令”,但是输入命令:appium -v能够正确输出我安装版本,这是怎么回事呢? 原来appiu-doctor在1.5.3版本之后没有了需 ...
- VS Code 提示‘未找到Git。请安装Git,或在“git.path”设置中配置’
一.情况说明 1.描述 从Git上克隆出代码,用vscode打开项目提示“未找到Git.请安装Git,或在“git.path”设置中配置” 2.截图 二.报错原因 .没有安装Git .没有设置Git路 ...
- 安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器。----复制自百度知道
安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器.使用Windows身份验证 2012-09-17 00:23hj168926 | 分类:数据库DB | 浏览3 ...
- CentOS 7 使用unzip解压zip文件提示未找到命令的解决方法
故障现象: 解决方法: 如果你使用unzip命令解压.zip文件,提示未找到命令,可能是你没有安装unzip软件,下面是安装方法 [root@localhost www]# yum install - ...
- VS2012 提示未找到与约束 ContractName 匹配的倒出
问题描述: 今天由于开发需要,我安装了一下 Vs 2015 按照之后 打开原来的项目 vs2012 打开,点击类文件提示错误 未找到与约束 ContractName 匹配的倒出 解决办法: 1 去微 ...
- Javah提示未找到 ..的类文件
D:\我的文档\workspace\PrepareForExam\src>javah -classpath D:\我的文档\workspace\ PrepareForExam\src\com\e ...
- Matlab2014a 提示未找到支持的编译器或 SDK的解决方法
最近在写论文,用到了matlab版本的libsvm,在混合编译的时候遇到的一点小问题. 我电脑上装的是matlab2014a,window7 64位 >> mbuild -setup 错误 ...
随机推荐
- Discuz X1.5 X2.5 X3 UC_KEY Getshell Write PHPCODE into config/config_ucenter.php Via /api/uc.php Vul
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 在Discuz中,uc_key是UC客户端与服务端通信的通信密钥.因此使用uc_k ...
- crawler: 爬虫的基本结构
目前我所知道的爬虫在获取页面信息上,分为静态爬虫和动态爬虫:静态爬虫主要用于获取静态页面,获取速度一般也比较快:但是现在很多网站的页面都是采用动态页面,当我们用爬虫去获取信息的时候,页面的信息可能还没 ...
- jQuery—DOM操作
摘抄自<锋利的jQuery> 一.查找节点 1.查找元素节点 var li_txt = $li.text(); 2.查找属性节点 var p_txt = $para.attr(" ...
- 【Alpha阶段】第一次Scrum例会
个人任务报告 姓名 昨日已完成任务 明日计划任务 工作困难 岳桐宇 #20 撰写网站用户界面与体验改进方案文档 无 1. 与邓楚云的制定前端工作流程产生冲突,发生了不愉快的情况,最后在整个团队协商的情 ...
- Linux nginx 配置 location 语法 正则表达式
location语法:location [=|~|~*|^~] /uri/ { - }默认:否上下文:server这个指令随URL不同而接受不同的结构.你可以配置使用常规字符串和正则表达式.如果使用正 ...
- Ubuntu修改mysql默认编码的方法
ubuntu使用apt-get安装mysql后,server的默认编码是latin1,下面把server的编码修改成utf8. 编码相关信息: 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
- springMVC的注解@RequestParam与@PathVariable的区别
1.在SpringMVC后台控制层获取参数的方式主要有两种, 一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取. ...
- glade2支持C++代码的输出(1)
开发了一个基类,用于支持GTK2的信号回调 见BaseObject.zip 为了便于快速通过glade设计界面,并生成相应的C++代码,我对glade-2 2.12.2的代码进行了修改 原始代码:gl ...
- MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)
一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...
- 初学Memcached安装及使用(CentOS7)
1.yum install memcached安装memecached 2.chkconfig memcached on设置memcached开机启动 3.service memcached star ...