gpt4 book ai didi

wcf - 如何在 WCF 中启用 webHttp 连接?

转载 作者:行者123 更新时间:2023-12-04 20:06:11 33 4
gpt4 key购买 nike

我正在开发一个将数据从安卓手机传输到服务器的解决方案(用 C#/.NET 编写)。

我创建了一个 WCF 服务并用模拟器测试一切正常。然后当我尝试从手机(连接到家庭 wifi 网络)登录时,我收到以下异常消息:

org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.5:8000 refused

如果有人能看一下配置文件和界面并就如何启用连接提供任何建议,我将不胜感激。

网络配置:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="DefaultBinding"
allowCookies="true"
bypassProxyOnLocal="true" />
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="RESTFriendly">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="RESTServer.LoginService">
<endpoint address=""
behaviorConfiguration="RESTFriendly"
binding="webHttpBinding"
bindingConfiguration="DefaultBinding"
contract="RESTServer.ILoginService" />
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
</configuration>

接口(interface):

[ServiceContract()]
public interface ILoginService
{
[WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/username={username}&password={password}")]
[OperationContract]
Message Login(string username, string password);
}

服务实现:

public class LoginService : ILoginService
{
public Message Login(string username, string password)
{
Message message = new Message();
SQLWorks sqlWorks = new SQLWorks();
string strSession = sqlWorks.Login(username, password);
string strMessage;
message.Session = strSession;
if(strSession == "")
{
strMessage = "Login failed! Please check your username/password!";
}
else
{
strMessage = "Login Successful";
}
message.ErrorMessage = strMessage;
return message;
}
}

最佳答案

为了连接到您的服务,它需要托管在公共(public)网络服务器上。看起来您使用的地址 192.168.1.5:8000 是家庭网络地址,无法从外界(手机)访问。

关于wcf - 如何在 WCF 中启用 webHttp 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/676201/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com